Who Is Using Node.js And Why Should You?
![Node_Js_vakoms_web_app_development](https://vakoms.com/wp-content/uploads/2017/10/Node_Js_vakoms_web_app_development-2-1568x1029.png)
Can you imagine world-known giants like PayPal, Uber, LinkedIn, Walmart, and even NASA using Node.js? Even though it’s a relatively new technology for internal software solutions, millions of smaller enterprises choose Node.js for building apps.
Ask why?
Node.js has it all: it uses a very common JavaScript language for building back-ends, a robust technology stack, has unlimited scalability and speed, rich ecosystem, strong corporate support, and an easy learning curve.
Source: Companies using Node.js
There are a lot of cases where it’s better to use Node.js instead of Java, Python, PHP, etc. Before sharing the most outstanding ones, let us offer some helpful information first.
What is Node.js and how it works?
As it was mentioned in our recent comparative article on hot “Node.js vs Go”, Node.js is a free open-source server framework that runs on various platforms including Windows, Mac OS X, Linux, and Unix. Considering that it’s written in JavaScript, Node.js is an exceptional choice for the web servers, networking tools, and real-time app development.
Who is using Node.js?
Let’s check out the best examples of the world-famous companies using Node.js:
PayPal
Paypal is one of the biggest and most famous systems for Internet payments. The platform has to cope with more than 200 million active user accounts daily. It enables users to transact with each other online fast and easily in over a hundred currencies. And to make the user experience seamless, PayPal used Node.js for developing their web apps.
Why did PayPal choose to switch to Node.js?
The primary issue the company had to solve was allocating to team members the tasks for server and browser apps. After Node.js adoption, developers could finally use single JavaScript for both front-end and back-end sides.
Jeff Harrel, Senior Director of Payments Products and Engineering at PayPal stated:
“Node.js helps us solve this (boundary between the browser and server) by enabling both the browser and server applications to be written in JavaScript. It unifies our engineering specialties into one team, which allows us to understand and react to our users’ needs at any level in the technology stack”.
The workflow and the result
According to the PayPal official case study, it took the company several months to put the necessary infrastructure in place for Node.js to work. The result was tremendous: using Node.js, they built their app around two times faster and with fewer people.
During that time, the team consisted of 5 engineers working on the Java app and 2 engineers working on the parallel node.js app.
How did it affect the software?
PayPal experience showed that Node.js app development process required:
- 33% fewer code lines
- 40% fewer files (compared to the previous Java-based app)
- 35% decrease in the average response time for the similar page
These results provided promising evidence showing that the PayPal team could move much faster with JavaScript and provide the company with an increased productivity saving business costs and time.
Uber
Uber is an American private online transportation network company that operates in more than 60 countries and 600 cities worldwide. Uber’s mobile app allows finding and pairing consumers and drivers.
Why did Uber choose Node.js?
Uber was among the first to put Node.js into full production. Its mobile app development process required high scalability option, as the number of users was increasing significantly month after month. Uber needed a trustworthy and stable system for both user parties: the drivers and the customers. This suggests that Node’s fast and effective data processing capability was the key reason for its adoption.
The workflow and the result
All Uber’s dispatching systems run on Node.js. When a user opens a mobile application or visits the website to book a ride or check the available cars, the Node.js code works. However, it isn’t the only technology at Uber. Google’s Go is also being used:
“We started writing some things in Go, so that’s been some of the high-performance systems where initially we might write something in Node. Some of those are currently being rewritten in Go in particular places where it makes sense, just to get a little bit more optimization from the system.” – says Tom Croucher, Uber site reliability engineer.
How does it affect the software?
Node.js allows Uber mobile app:
- to maintain big amounts of data quickly and efficiently,
- to be constantly improved due to the active open source community.
And offers:
- fast code deployment
- effective error analysis (without a restart)
With the help of node.js technology, the mobile app is currently able to maintain more than 2 million remote procedure calls per second. Read the official case study by Node.
Netflix
Netflix is the biggest global video content and streaming service available in more than 190 countries. The American entertainment company has been on the market since early 1997 and now contains around 90 million subscribers worldwide, with nearly half of them being US-based users.
Why did Netflix choose Node.js?
The entire UI of Netflix is built on Node.js technology. It proved to be so efficient, that the company decided to apply it to other layers of the stack as well.
The workflow and result
The Netflix development team’s goal of using Node.js was primarily to obtain a lightweight app with high performance. To make a long story short, the new Node-based application’s load time was improved by 70%.
How did it affect the software?
Using Node.js for app development process resulted in:
- decreased build times
- enabled user customization
- improved performance
LinkedIn is the largest business-oriented social networking site available today. It provides users with an opportunity to connect with other professionals and invite anyone to become a connection (no matter registered or not).
Why did LinkedIn choose Node.js?
LinkedIn mobile application backend is built on Node.js. The company’s main reason to switch from Ruby on Rails was scale and performance efficiency.
The workflow and the result
Node.js showed greater performance in comparison to Ruby on Rails. For this reason, the company made a decision to build the whole mobile software stack (the server side) entirely in Node. As a result, they went from running 15 servers to having just 4 virtual servers that were “able to handle double the traffic”.
Nevertheless, LinkedIn’s mobile development lead, Kiran Prasad, admits that Node doesn’t fit every task. “We have a recommendation engine that does a ton of data crunching; Node isn’t going to be the best for that”.
How did it affect the software?
- made it up to 20 times faster on the server side
- and 10 times faster on the client side
- the traffic capacity increased
- servers were cut down from 30 to 3
- frontend and backend mobile teams were combined into a single unit
- the overall development time decreased
This is what new Node based app became in comparison to the previous Ruby on Rails mobile app version.
So, when is it better to use Node.js?
1. In developing chat applications.
If you develop applications that need to process a lot of short messages that require low latency, Node.js is a perfect tool (also consider app development with Go). Live-chats and instant-messaging applications are first on the list, as they are the most typical real-time, high traffic, data-intensive, multi-user apps.
How it works: let’s take a single chatroom on the web messaging platform. There are few users on the website connected to the message board. On the server-side we use a Node.js app that processes requests, meanwhile, on the client-side there is an HTML page with a ‘send’ button handler and client handler that “listens” for new incoming messages.
What happens next: When a user clicks “send”, the browser tracks the click via JS handler. The Server-side component receives the message and delivers it to the connected users through the broadcast method. Regardless the kind of project you are going to develop, Node.js always operates under the same rules:
- React to events
- Handle loads of concurrent connections
- Maintain UX fluidity
Node.js is highly effective for the development of real-time apps, as it simplifies handling numerous client requests, enables sharing and quick data sync between the client and server.
2. For video streaming.
Node.js is also a good choice for developing video conference/streaming applications. the process of sending data is divided into small chunks that are sent to the front end piece by piece, instead of a huge single package. It allows you to process files while they are still being uploaded. This quick insight case shows how data package can be easily loaded in chunks instead of being loaded whole – from the beginning to the end.
3. For server-side proxy and web applications.
Node.js can be easily employed as a server-side proxy, as it is capable of managing a huge amount of connections. A number of effective features allows handling simultaneous requests in a non-blocking way.
This means Node.js is using a form of input/output processing that allows other processing to continue before the transmission is finished. Using Node.js instead of dedicated proxy servers might be extremely helpful if one needs a cheap and effective solution for local development.
Is it worth developing your project in Node.js?
In fact, Node.js is a server technology that gives your app a huge advantage which your competitors might not have (unless they are already benefiting from Node.js too). However, you should consider that Node.js developers will cost you a little bit more than PHP or Python engineers.
Bringing your project to life with the help of a custom software development company in Ukraine, ordering Node.js development or Go development services ensures that you get a really efficient solution with a great potential for further improvements and scalability.
We will disclose detailed information on pricing in our next articles. So follow our updates and get more tips on finding your true IT partner and learn more about the business cooperation models that will fit your software development project best.