Node.js is gaining more and more popularity. The 2018 Node.js User Survey Report shares insights from more than 1600 participants. Three quarters of them say that they’re planning to increase their use of Node over the next 12 months. Node is most commonly used in web app development, with 85% of respondents indicating they use it for this type of work. 43% of respondents indicate they use Node for enterprise applications.
As stated in the report:
Node.js is continuing to have a positive impact on users particularly around developer productivity and satisfaction; when asked to describe Node.js, respondents use mostly positive terms like – “fast”, “easy”, “awesome”, “powerful”, “flexible” and even “fun”.
What is Node.js?
Famous apps with Node.js
You’ve probably heard of all of them, perhaps you even use them. But did you know that applications such as Netflix, PayPal or Uber were built with Node.js?
Here’s a list of some of the most well-known companies that used Node in their apps.
PayPal is the most popular online payment service in use. It supports money transfers worldwide. It allows users to transact with each other online in more than 100 currencies. When you’re looking for apps that were made with Node.js, PayPal will most probably one of the first ones on any list as it was also one of the first ones to give it a chance – at that time, Node was not as popular as it is today.
In an article published on PayPal Engineering in 2013, Jeff Harrell writes:
Imagine an HTML developer who has to ask a Java developer to link together page “A” and “B”. That’s where we were. This model has fallen behind with the introduction of full-stack engineers, those capable of creating an awesome user interface and then building the application backing it. Call them unicorns, but that’s what we want and the primary blocker at PayPal has always been the artificial boundary we established between the browser and server.
The first Node application at PayPal was built in parallel with an equivalent Java application. The Node.js application was:
- built almost twice as fast with fewer people
- written in 33% fewer lines of code
- constructed with 40% fewer files.
These are not all the benefits, though! Additionally, PayPal doubled the number of requests served per second, at the same time decreasing the average response time by 35%.
In case you don’t know, Netflix is the world’s leading internet entertainment service offering subscription plans that allow users from over 190 countries to enjoy movies and TV series on their favorite device. As for now, Netflix has about 130 million memberships.
Netflix’s server-side rendering is built with Node. This solution proved to be so successful that they’re moving data access layers to Node.js runtime. Netflix chose Node because they wanted to achieve a lightweight, modular, and fast application. With the use of Node, the startup time of the application was reduced by 70%.
Yunong Xiao, Principal Software Engineer at Netflix, says there are three main reasons why they decided to go with Node:
- It’s very performant. For such a huge service like Netflix, that really does matter.
- Node has a lot of modules. If the tools that are already available can get the job done, there’s no point in re-inventing the wheel.
LinkedIn is a social network designed for professional purposes. It allows users to create their professional profiles, document their experience, find career opportunities, and build networks of people that they know professionally.
LinkedIn’s mobile software stack was built completely with Node.js. Why did they decide to go with Node? Kiran Prasad, VP of Product at LinkedIn, explains:
One reason was scale. The second is, if you look at Node, the thing it’s best at doing is talking to other services. The mobile app has to talk to our platform API and database. We’re not doing massive data analytics. Node showed us huge performance gains compared to what we were using before, which was Ruby on Rails.
The results? The Node app uses a fraction of resources since they cut the number of servers (some websites report that the number was originally 30 and went down to just 3), traffic capacity was doubled, and the app works up to 10 times faster on the client-side.
Twitter is an online news and social networking site that allows users to communicate in short messages – tweets. It’s grown to be a popular micro-blogging site, with more than 330 million users worldwide.
James Bellenger, Senior Software Engineer at Twitter, says:
This launch was a complete rewrite of the Twitter web stack and the first large-scale user facing service at Twitter that we’ve deployed on Node.js.
Watch Bellenger talk about Node in Twitter Lite:
Uber is an application that connects drivers and riders and offers other transportation services. It operates in almost 800 metropolitan areas worldwide.
Uber used Node.js to build their massive matching system. Since Uber was rapidly growing, data processing capabilities of Node.js were an important factor.
Why did they go with Node? You can read about that in the publication on Node.js at Uber:
There are three core strengths that make Node.js a particularly good fit for Uber.
1. Node.js handles asynchronous I/O requests with a non-blocking, single-threaded event loop. It is particularly well-suited to distributed systems that make a lot of network requests.
3. The active open source community continuously optimizes the technology; it gets better, all the time, practically on its own.
eBay is a huge online auction and shopping website. It allows consumer to consumer and business to consumer sales. It operates in more than 30 countries and has about 175 million active users.
Given the huge traffic that eBay has to deal with, they had to go with a proven technology. To make sure the application is as real-time as possible, they decided to go with Node.
Senthil Padmanabhan, Principal Web Engineer at eBay, says:
We had two primary requirements for the project. First was to make the application as real time as possible–i.e., maintain live connections with the server. Second was to orchestrate a huge number of eBay-specific services that display information on the page.
Node proved to be a reliable solution, not only being fast, simple, performant, and scalable but also giving a feeling of transparency and control.
Read more about Node at eBay here.
Medium is an online publishing platform where people can share and read articles and stories. It covers a whole variety of topics. The number of articles published on Medium keeps growing, and the platform has about 60 million monthly readers.
Medium app servers are built with Node.js with Nginx accompanying it, they also use Matador as a framework for Node environment. Using Node helped them speed up deployment times, up to 15 minutes. Main app servers usually deploy 5 times a day and are capable of 10.
If I need to explain what NASA is, it stands for National Aeronautics and Space Administration. NASA is in charge of U.S. science and technology that has to do with airplanes or space.
After a dangerous accident, NASA found their data to be scattered on many locations and they decided to build their own end-to-end data system. They chose Node.js for this job and moved the data to one cloud database to reduce access times.
Using Node, they created a system that helped transition from the old 28-step data processing (which was in part manual and included document printing and looking up files) to a reduced seven-step process.
Read more about Node at NASA here.
Groupon is a worldwide e-commerce marketplace that connects consumers with local businesses. It offers virtual coupons that let the buyers try out new services in their area.
In 2015, Groupon migrated the whole web and mobile traffic from Ruby on Rails to Node.js stack. Sean McCullough, former Senior Software Engineer at Groupon, lists a few reasons why they decided to go with Node.js:
– vibrant community
– performant enough
– easy scaling (process model)
What are the results?
First of all, page loads are faster by about 50%. What’s more, Groupon is able to serve the same amount of traffic with less hardware. The team was also able to make features and design changes more quickly compared to their old architecture.
Trello is an online project management tool that organizes tasks into boards. Trello helps teams keep track of the progress of work, clearly showing the tasks from the to-do list, in progress, and those that have already been done.
The server-side of Trello is built in Node.js. Trello explain this choice in a blog post:
We knew we wanted instant propagation of updates, which meant that we needed to be able to hold a lot of open connections, so an event-driven, non-blocking server seemed like a good choice.
Trello also used Node.js for some prototyping as it was a fast way to get started with trying out new things. They were really excited to discover Node’s capabilities and good performance.
Is your application going to join this group? Node can be used in a whole variety of projects and many teams are happy to observe its benefits. It’s fast, simple, performant, and scalable and it keeps proving to be a good solution for many projects. If you’re looking for a solution that’s simple, that takes a shorter time to develop, and is efficient – Node.js seems to be a clear choice. Still not sure whether it’s the right fit for you? Tell us about your project and we’ll help you decide.