Deze inhoud is niet beschikbaar in jouw taal. Dit is de Engelse versie.

Fast, lightweight, and scalable: Why popular apps have Node.js on their backend

Dec 07, 2020 · 6 minuten om te lezen

Often companies introduce Node.js in their development cycle as a prototyping platform to have the frontend and backend of their MVP written fast with JavaScript. Then, some of those businesses stick with the JavaScript Everywhere paradigm and give Node.js a go in production. Sometimes they even end up maintaining incredibly complex and heavy-loaded infrastructures with the help of this technology.

A bunch of big and famous companies have implemented cool node.js projects. They either used Node.js to build their apps from scratch or rewrote their old apps to swipe Java or Ruby on Rails for it. Let’s look at several Node.js app examples to figure out why they rely on JavaScript for their backend development and why you might want to do the same.

1. Performance monitoring and SPAs for Capital One

Capital One, a well-known credit card issuer in the UK and the US, used Node.js to build Hygieia, their open-source DevOps Dashboard. Node.js allowed them to build both the backend and frontend for their performance monitoring app with a small team of full-stack developers. The company benefited from lower overheads and a faster development cycle.

Having chosen Node.js for building the Hygieia backend, developers at Capital One were able to prototype and test their ideas fast. They followed the startup approach to building apps while being employees of a big corporation.

“Node.js has the potential to be both for startups and big companies, which I think is a really unique phenomenon.” – Azat Mardan, Technology Fellow at Capital One

Apart from implementing this JavaScript runtime environment to build services for internal use, Capital One leverages customer-facing Node.js single-page apps (SPA). They find this technology an ideal solution for their SPAs data orchestration.

2. Scalable backend for real-time collaboration in Trello

An event-driven, non-blocking server built with Node.js lies in the core of Trello’s tech stack. Developers at Fog Greek (now Glitch) chose Node.js as early as the prototyping stage of the project. They needed to create a single-page app able to generate its UI on the client, provide for instant updates, and handle many open connections at a time.

“The prototype version of the Trello server was just a library of functions that operated on arrays of Models in the memory of a single Node.js process, and the client simply invoked those functions through a very thin wrapper over a WebSocket.” – Brett Kiefer, Principal Engineer at Atlassian

Eventually, this Node.js project made it to production. To their own surprise, developers at Trello have built one of the best Node.js server examples. Using this technology they managed to scale their app to 8 million members and process 13000 requests per hour in three years. Although they faced several challenges with MongoDB, Socket.io, and Node’s cluster module, they’ve managed to uncover the full potential of JavaScript for backend and found elegant solutions.

3. Progressive web app for mobile browsers for Twitter

Software engineers at Twitter decided to completely rewrite their mobile web app using Node.js in 2017. They substituted the outdated app with a light-weight and fast alternative that works even on slow and unreliable networks. Thanks to its Node.js server Twitter Lite takes less than 1MB on a smartphone and has a 30% faster load time.

“Twitter Lite’s Node.js server handles user authentication, constructs the initial state of the app, and renders the initial HTML application shell. Once loaded in the browser, the app requests data directly from the Twitter API.” – Nicolas Gallagher, Software Engineer at Twitter

As a result, they got a Node.js web app with simple architecture. Now Twitter Lite user experience feels pretty much like that of a native app while doesn’t require people to download a 20MB iOS or Android app on their smartphones.

4. Traffic-intensive customer-facing web apps for PayPal

In 2017, developers at PayPal, the popular payment gateway service provider, decided to create a Node.js backend for their account overview page. Being doubtful about the success of this adventure, they committed to writing a similar (fall-back) app in Java in parallel. In doing so they were able to compare the efficiency of the two tech stacks being halfway through the development of both apps. The test results spoke in favor of the Node.js app:

  • It was built two times faster with fewer people (two full-stack developers working three months vs five Java developers working six months).
  • It had 33% fewer lines of code and consisted of 40% fewer files.
  • It processed twice as many requests per second and provided a 35% faster response time for web pages.

Having seen the cost-saving and performance improvement potential of Node.js, the PayPal development team put the Java app on hold. Later, they decided to use Node.js for building all their upcoming consumer-facing web apps.

5. Efficient app architecture and UI development at Netflix

Netflix, the world’s largest streaming service, streams out the video to a wide number of devices, from smartphones to consoles. Striving to provide the best experience to every user, UI engineers have to introduce constant changes and test their code fast. Developing UI for Netflix was a real challenge with the heavy monolithic app they had.

To improve the UI development experience, the Netflix team employed Node.js technology and changed their app architecture by splitting their platform into four structural layers:

  • Clients for a different type of devices written with JavaScript
  • Containers with client API (Backend-for-Frontend) built with Node.js
  • Unified remote service layer with Edge API written with Java
  • Hundreds of backend microservices

Adding the container layer allowed Netflix UI teams to build and test new versions of their client parts of the app faster. Now they deploy new client APIs in dedicated containers with Node.js servers. Their code can be easily run and debug locally without making any changes to the rest of the Netflix backend platform.

Want to use Node.js for your project?

Those examples of Node.js apps show that this technology is worth your attention. You can use it at the early stages of your startup to quickly get from idea to product. This technology may work well for you if you’re building a real-time app, data streaming service, or even an IoT project. Considering the experience of global companies, you can be sure that Node.js will keep pace with your needs as your project scales.

To build a Node.js application, you can start with one full-stack developer. If you’re looking for cost-effective options, consider hiring a Node.js developer on Proxify.io. Hourly rates on our talent matching network start at 29€ / h. Just leave us a talent request and get the work on your project started within two weeks.

Inhoud

Stressvrij aannemen van tech-expertise begint hier

Codering is een universele taal. Daarom zoekt Proxify wijd en zijd naar het beste wereldwijde talent in de techbranche. We maken het veilig en eenvoudig om ontwikkelaars en ontwerpers aan te nemen. En tegen een goede prijs uiteraard.

In een kort telefoongesprek van 15 minuten willen we graag:

  • Het soort talent begrijpen dat uw bedrijf nodig heeft
  • Het meest geschikte plan voor u bespreken
  • U precies vertellen hoe Proxify werkt

Maak een afspraak