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.
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.
The number of active users: 325 million
The year of launch: 1998
The country of launch: USA (Palo Alto, California)
As far as performance is concerned, the PayPal team illustrates it with the following chart:
The average response time in Node.js is about 35% lower than in Java, and Node handles by two times more requests per second.
According to The PayPal Engineering Blog,
So, Node.js has become a lifesaving vest for the PayPal team as it granted them development efficiency, speed, convenience, and improved performance.
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.
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. The first was to make the application as real-time as possible–i.e., maintain live connections with the server. The 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.
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.
Streaming is rapidly turning into one of the most profitable branches of the entertainment industry. Similar 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.
The number of active users: 182 million
The year of launch: 1997
The country of launch: USA (Scotts Valley, California)
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.
Social networking apps have to be reliable and scalable. On the one hand, they feature a lot of personal information — phone numbers and email addresses 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.
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.
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. The great performance and reliability of the LinkedIn platform prove that the LinkedIn team made an excellent choice.
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.
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.
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 these 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.
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.
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.
To Wrap Up