< Back to blog
PUBLISH DATE:
UPD:
Tetiana MatviiokTania MatviiokContent Manager

5 Types and 9 Examples of Applications You Can Build with Node.js

Due to its scalability, reliability, and stability, Node.js is the best choice for FinTech, ecommerce, streaming, networking, and IoT apps.

5 Types and 9 Examples of Applications You Can Build with Node.js

Node.js was first introduced in 2009, and this day became a turning point in the life of the JavaScript community. The dream came true, and JavaScript turned from a purely front-end development language into full-stack. Node.js became the first step towards the implementation of Isomorphic JavaScript, also called Universal JavaScript. 

As of today, JavaScript can be used to develop any kind of apps, partially or from end to end. The back end of JavaScript apps is mostly written in Node.js. There are cases when Node.js application development is a perfect match with the project needs and cases when the choice of it is not so good. In this article, we will have a look at five major types of apps you can build with the help of Node.js and some real-life Node JS app examples.

FinTech apps

The number one requirement for any FinTech app is reliability. The user should be confident that, once they provide some personal or financial information to the platform, there is no way it can be compromised, misused, lost, or stolen. Fortunately, reliability and data safety is what Node.js has to offer. Node.js is open source, which means that, once there any errors or loopholes that may affect user data integrity, the developer community will fix them at once.

Among the most popular FinTech Node.js applications examples, there is PayPal.

PayPal

PayPal

The number of active users: 325 million 

The year of launch: 1998

The country of launch: USA (Palo Alto, California)

PayPal serves about 200,000,000 users every day, and it does it seamlessly — that’s the number one achievement of Node.js non-blocking model. Yet, heavy data load is not the only problem that Node.js helped the PayPal team to solve. Originally, the platform was developed with HTML, CSS, and JavaScript from the client-side and Java from the server-side. Two different teams developed front-end and back-end, which badly slowed down and complicated the development process. With time, this issue turned into an annoying problem, so the company was looking for alternatives. After some time spent researching and prototyping, they decided to give Node.js a try. They began with developing an account overview page — the most trafficked one — in Node.js, but to play on a safe side, they simultaneously developed this very app in Java. If something went wrong with the Node app, they would have a backup plan at hand. Later, the company admitted that their first Node.js application was written 2 times faster than the analogous Java one. It was constructed of 40% less files and 33% less code. 

As far as performance is concerned, the PayPal team illustrates it with the following chart:

Retrieved from https://medium.com/paypal-engineering/node-js-at-paypal-4e2d1d08ce4f
Retrieved from https://medium.com/paypal-engineering/node-js-at-paypal-4e2d1d08ce4f

The average response time in Node.js is by about 35% lower than in Java, and Node handles by two times more requests per second.

According to The PayPal Engineering Blog,

Node.js helps us solve this 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.

So, Node.js has become a lifesaving vest for the PayPal team as it granted them with development efficiency, speed, convenience, and improved performance.

PayPal home page

Ecommerce apps

Ecommerce apps have to be stable — they must withstand heavy data load associated with multiple users searching through their catalogs, making orders, or processing payments. Node.js is perfect for large applications with multiple simultaneous requests due to its event-based, non-blocking input/output model. Among the best-known ecommerce Node JS app examples, there are eBay and Groupon.

eBay

eBay

The number of active users: 182 million 

The year of launch: 1995

The country of launch: USA (San Jose, California)

Originally, eBay was built on Java-based tech stack, with the entire workflow revolving around Java and JVM. This tech stack seemed to be an obvious choice because of the heavy data load that the system had to handle. After all, to achieve stability and reliability the best decision would be to go with a tried and trusted technology. Yet, as the business grew more popular, eBay had to scale its platform, and scalability is not a strong point of Java. This is when the company started exploring Node.js. They chose Node.js for three essential reasons: developer agility, system scalability, and app performance.

According to Senthil Padmanabhan, a Vice President, Fellow at eBay,

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–i.e., handle I/O-bound operations… With the success of the Node.js backend stack, eBay’s platform team is now developing a full-fledged frontend stack running on Node.js.

eBay seems to have never stopped growing, and Node.js helps eBay on its endless uphill journey. Few apps enjoy the Node.js scalability as much as Node.js does.

eBay home page

Groupon

Groupon

The number of active users: 43.6 million 

The year of launch: 2008

The country of launch: USA (Chicago, Illinois)

In October 2013, the Groupon engineering team reported that they have moved all their web traffic from a legacy Ruby on Rails app to a brand-new Node JS web app. Once the team decided to rewrite their web application and transition to a service-oriented architecture, they have been choosing between Python, PHP, and Node.js. After some profound research, they decided that Node.js must be the optimal solution due to its vibrant community, easy scaling, powerful performance, and NPM (Node.js package manager). 

According to Sean McCullough at Groupon Engineering,

Groupon will be one of the largest production deploys of Node.js worldwide. We’re currently serving ~50,000rpm and our overall response times have dropped dramatically.

Apparently, for the Groupon team, Node.js became a chance to revive their application, greatly improve its performance, and join a vivid community of Node.js developers and supportive members.

Groupon home page

Streaming apps

Streaming is rapidly turning into one of the most profitable branches of the entertainment industry. Similarly to ecommerce apps, these platforms have to be able to cope with heavy data flow and multiple requests occurring simultaneously. Fortunately, Node.js is here to save the day.

Netflix is the most popular and heavily used streaming platform built with Node.js.

Netflix

Netflix

The number of active users: 182 million 

The year of launch: 1997

The country of launch: USA (Scotts Valley, California)

Initially, Netflix was built with Java on the back-end and JavaScript on the front-end, but writing the app in two languages at the same time badly slowed down the development process. The company chose to transition to Universal JavaScript in order to unite back-end and front-end under the same language, as well as to improve performance and speed. They opted in favor of Node.js for the back-end and React for the front-end. After all, such an approach promised to facilitate the development process due to simple code writing and debugging and a great number of open source packages and modules. 

According to The Netflix Technology Blog,

With Node.js and React.js, we can render from the server and subsequently render changes entirely on the client after the initial markup and React.js components have been transmitted to the browser. This flexibility allows for the application to render the exact same output independent of the location of the rendering. The hard separation is no longer present and it’s far less likely for the server and client to be different than one another.

As of today, Netflix is the largest streaming service used by over 182 million people worldwide. The transition to Universal JS and Node.js in particular allowed the company not only to withstand heavy data load and provide an effective user experience. It also gave the developers an opportunity to introduce any necessary changes quickly and easily. 

Netflix home page

Networking apps

Social networking apps have to be reliable and scalable. On the one hand, they feature a lot of personal information — phone number and email address in the best-case scenario and financial information in the worst-case scenario. On the other hand, as the network grows larger, the system should be able to expand. Node.js offers a perfect opportunity for scalability, both horizontal and vertical. To scale horizontally, you can add new nodes to the existing system. To scale vertically, you can add additional resources to the existing nodes.

Among the best-known networking Node.js apps examples, there are LinkedIn, Twitter Lite, Medium, and Trello.

LinkedIn

LinkedIn

The number of active users: 675 million 

The year of launch: 2002

The country of launch: USA (Mountain View, California)

LinkedIn was originally built as a Ruby on Rails process-based system. As the company expanded and the platform grew more popular, the urgent need for app scalability appeared. Yet, Ruby on Rails is not the most scalable language, and extending the project would require a lot of time and costs. Ruby on Rails could not provide the performance that LinkedIn needed, it was not optimized for JSON translation, and it complicated the development of the mobile LinkedIn app. The engineering team was looking to replace RoR with some evented language or framework, such as EventMachine in Ruby or Twisted in Python. Eventually, they chose Node.js.

According to Kiran Prasad, a senior director of mobile engineering at LinkedIn,

Along the way we discovered that Node was roughly 20 times faster than what we had been using and its memory footprint was smaller as well. Obviously, Node.js also offers other benefits beyond the technical aspects. JavaScript is a language lots of people understand and are comfortable coding in. Besides, it didn't hurt that Node was getting a lot of hype at the time—and still is. In some ways, that makes it easier for me to recruit.

Kiran Prasad also admitted that Node.js won his affection because of how it facilitated and sped up the coding process. He claims that it takes only 20–100 milliseconds for Node to run the app and at least 15–30 seconds for the Rails console only to come up. Besides that, Node.js is lighter, thinner, and faster overall.

Going with Node.js was a major technical vector change for the LinkedIn team. Yet, this change proved to be a good one. Great performance and reliability of the LinkedIn platform prove that the LinkedIn team made an excellent choice.

LinkedIn page

Twitter Lite

Twitter

The number of active Twitter users: 321 million

The year of launch: 2006

The country of launch: USA (San Francisco, California)

Every month, tens and hundreds of millions of users visit the mobile version of Twitter, and yet, Twitter Lite remains fast and reliable. It is network resilient, interactive in under five seconds over 3G, and resources-efficient — it uses 40% less data than before. Also, Twitter Lite has become more development-friendly: app changes are easier and faster to code and to deploy.

Basically, Twitter Lite is a JavaScript PWA on the client-side with a simple Node.js server. The Node.js server manages user authentication, constructs the initial app state, renders that initial HTML app shell, and, once the app is opened by the browser, requests data from the Twitter API.

According to Nicolas Gallagher, an engineer at Twitter,

The simplicity of this basic architecture has helped us deliver exceptional service reliability and efficiency at scale – Twitter Lite an order of magnitude less expensive to run than our server-rendered desktop website.

Node.js helped Twitter to take its mobile app to a totally new level. Its powerful and seamless performance greatly improves user experience. Meanwhile, the convenience of Node.js tools greatly facilitates development.

Twitter page

Trello

Trello

The number of active users: 25 million 

The year of launch: 2011

The country of launch: USA (New York City, New York)

The back end of Trello is built in Node.js. The company aimed for an event-driven server from the very beginning because Trello needs to display updates instantly, so a lot of connections have to be kept open simultaneously. In fact, they used Node.js even at the stage of prototyping — the Node.js server was a mere library of functions, which were invoked over a WebSocket. Prototyping with Node.js granted the team some great flexibility and development speed, which were important for the prototypes to be regularly updated according to the market research findings.

Sure, Node.js development of Trello has been intertwined with issues and difficulties, for instance, a huge amount of continuation passing. Yet, the Trello team managed to solve this challenges, in particular, using the async library to keep the code under control.

According to brett at Trello Blog,

Node is great, and getting better all of the time as its active developer community churns out new and useful libraries.

Today, Trello is one of the most popular and often used task management platforms. As their business is expected to grow, the platform itself will be scaled up as well — fortunately, Node.js grants a huge room for the opportunity to do that.

Trello home page

Medium

Medium

The number of active users: 60 million 

The year of launch: 2012

The country of launch: USA (San Francisco, California)

The Medium platform is based on a service-oriented architecture. The main app servers are written in Node.js, which gives an important opportunity for code sharing between the server and the client. The choice of Node.js for Medium back-end is associated with some performance drawbacks because, in some cases, the event loop is blocked. Yet, this issue is solved with multiple instances per machine and route expensive endpoints to specific instances. Moreover, the V8 engine of Node.js offers a huge benefit — the ability to see which ticks are taking longer to execute than others.

According to Dan Pupius at Medium Engineering,

Our main app servers are still written in Node, which allows us to share code between server and client, something we use quite heavily with the editor and post transformations.

In any case, Node.js is the best available choice for back end, and it does work its magic for Medium. Despite any development difficulties, Medium has grown into one of the most powerful, popular, and user-friendly blog platforms worldwide.

Medium

 

IoT

The subject of IoT and Node.js is so vast and important that it is worth its own article. In fact, we have written one! Feel free to read it you want a deep dive into the Node.js in IoT topic. But keeping it short, Node.js benefits IoT development because of the following:

  • It is fast and performant,

  • It is easily integrated with IoT protocols,

  • It facilitates IoT development with the help of IoT modules,

  • It is resource-efficient and scalable.

As for the IoT Node JS application example, there are a few of them we have developed at KeenEthics. But we are most proud of our pet project called Asama — an employee tracking system.

Asama

Asama

The year of launch: 2019

The country of launch: Ukraine (Lviv)

Asama is a system for tracking the productive working time of employees at plants, warehouses, construction sites, supermarkets, or other large indoors working zones. The system consists of three major components: fitness trackers, BLE beacons, and artificial intelligence. Powered by Node.js, the system is reliable and efficient, and it allows easy scaling.

Asama home page

To Wrap Up

Node.js development is the number one choice for FinTech, ecommerce, streaming, networking, and IoT apps due to scalability, reliability, and stability that it offers. Multiple worldwide-popular Node JS app examples prove that Node.js is the framework you can rely on. After all, the concept of Universal JavaScript — one and the same language being used on both ends of the project — has been proven effective and efficient by PayPal and Netflix. How do you think, can your app be developed with JavaScript on both sides?

Do you have an idea for a Node JS app?

Does it seem to you that Node.js is the framework you need? Please, find out more about Node.js development services that we offer.