Our goal is to have a look at Node from the user’s perspective – to see the products one can build with it. Some names introduced below will be familiar to everybody, while others are underdogs, still striving to reach a global user base.
Types of apps that can be built with Node.js
Before we get to the main course, let’s learn what a typical Node.js application looks like. The technology is known for the capability to process multiple concurrent events in a single thread. That characteristic is crucial for projects associated with data-heavy workloads. At the same time, apps that require CPU-intensive tasks are beyond Node.js’ scope. Having weighed all benefits and downsides of the JS runtime environment, we get a set of particular applications best approached with Node.
Today, you may encounter single-page applications (SPAs) in the form of different text or drawing tools, mail/networking solutions, etc. This type of apps can benefit from Node’s asynchronous data flow. It features a seamless data update due to the event loop. As a result, the page receives new data without the need to refresh. LinkedIn is a good example of an SPA created with Node.js.
Versatile PM solutions, collaborative services, video conferencing, document sharing, and online communication (chats) tools are good places to implement real-time applications (RTAs). This type of app has numerous users that perform heavy I/O operations. The risk of overloading the server is extremely high. However, Node makes the collaboration environment update seamlessly due to Event API and WebSockets. Trello is an example of a Node.js application where real-time collaboration pattern is implemented.
The typical structure of an IoT system has data transfer in the direction device-server-app where the last element processes and shows data to users. And the number of such devices can be immense. Node.js allows you to handle an ocean of concurrent requests sent by myriads of devices. The already mentioned attributes of the technology (asynchronous processing and event-driven architecture) allow the runtime environment to function as an app layer between databases and devices. As an example, we can take Monet, an IoT Energy Management Platform based on MongoDB, which has leveraged the benefits of Node.js for several years.
Node’s native Stream API is the reason why the technology is a perfect choice for building streaming applications. The technology enables you to transmit parts of the code without closing connection if other components are required to download. No caching or temporary data is attached. Node provides an open connection for the app data streaming.
Best Node.js projects
Now you know the answer to the question “What is Node.js used for”. But your idea of the technology will be even clearer if you learn its practical implementation. Its wide popularity means there is a tremendous number of examples. Hence, we’ve decided to split our selection of the best Node.js apps into two categories. The first one, Trendsetters, contains names everyone is familiar with. The second one, Underdogs, introduces little-known or even unknown applications, which can win the place in the first category.
The first trendsetter on our list is Netflix. The number of subscribers to this video streaming platform has exceeded 130 million. Performance issues induced the company to employ Node.js in key areas including JS payload impact reduction, server/client rendering, and universal JS. As a result, the load time decreased by 70%. Along with Node, Netflix leveraged ReactJS to achieve the app’s flexibility to render the same output regardless of the rendering location. Node.js managed to ensure the necessary performance for the world’s leading provider of streaming media.
Another Node.js web application is prominent transportation startup. Every day, Uber handles over 15 million trips. Accordingly, the app’s performance is the first-priority thing. Node.js plays the essential role in building the Uber’s dispatch system, as well as user interfacing APIs. The JS runtime environment along with Python were the primary tech stacks used at the company. Uber was attracted to Node’s capability to deploy/change code without interrupting any processes, as well as its microservices architecture pattern.
This trading platform does not require any introduction. Moreover, eBay is one of the most famous Node.js usage examples. The technology came in handy when the app needed some renovation in terms of real-time responsiveness. Microservices architecture was another cachet to opt for Node since the company needed a solution to handle numerous specific services. Now, eBay aims to expand the technology’s footprint in different related projects and services.
Node.js is the principal technology used to support the mobile app backend of LinkedIn. The increasing demands for performance due to the rising number of users made for a favorable environment to employ Node. This networking platform has over 500 million users so far. The transition brought a plethora of benefits including a twentyfold increase in performance, a universal language for client and server sides, reduction of server numbers (tenfold).
The next Node.js web app is a PM tool leveraged by many software development companies. Railsware also uses the benefits of Trello on a daily basis. The number of users has already risen beyond a quarter of billion, meaning that the server side of the service deals with a plethora of open connections. On that account, Node is a good fit for the company’s needs providing an event-driven non-blocking server. Prototyping is another benefit of the technology, which was highly appraised by the Trello team. Along with Node.js, the server side of the project management tool uses MongoDB, Redis, and HAProxy.
In this context, an underdog denotes an ambitious challenger that deserves a place among cool Node.js projects. Perhaps, over time, one of the following names will make into the list above.
RightArm – Crowdfunding (Kickstarter-like)
RightArm is a sort of fintech startup represented by a crowdfunding platform for citizens of India and Singapore. At this web application, people can give and receive versatile resources including skills, money, materials, goods, goodwill, etc. RightArm provides a simple structure to manage tasks and projects. Collaboration between parties can be both paid and free. Node.js was leveraged for this project as a part of the software bundle called MEAN stack (MongoDB + Express.js + Angular + Node.js). The specific requirements of this web app (huge traffic and complex relation between users) were the perfect environment to fulfill Node’s potential.
Admission Desk – Education (Coursera-like)
Admission Desk is an RTA created for students and people striving for education. Here one can find versatile experimental education options, courses, colleges, and other educational information. If the search is successful, the application procedure can be done right off the bat. Students can apply for courses online, and colleges can accept/reject student’s applications. As for the web development, Node.js was leveraged together with technologies such as Angular, Express.js, PhoneGap (for mobile versions), and others.
CuePath Innovation – Healthcare (Pill & Med Reminder-like)
Now, we come to a healthcare Node.js app example. CuePath Innovation is an IoT project offering tools to track medication usage. The project covers three elements for various parties:
– Relatives of a patient get a progressive web application to control medication intake;
– Pharmacists get a web app to shape medication usage schedules;
– System owners get another web app to control the entire process.
CuePath Innovation is an amazing solution based on Node.js + Express.js with MongoDB for backend business logic. The frontend is built using Angularjs and Ionic.
KGK – Inventory management (Zoho Inventory-like)
When you hear letters K, G, K in one word, they might elicit associations with gemstones, diamonds, and jewelry. The company is a jewelry retailer with one of the leading positions on the global market. AngularJS, MongoDB, and Node.js were leveraged in the building of the KGK Group web application. It allows for processing orders, managing stock and inventory in the real-time on numerous devices and across different platforms. The multi-platform mobile app (built with Ionic) enables bidding and purchase transactions online.
JusPay – Digital payment (Google Pay-like)
Meet another fintech startup in our examples of Node.js apps. JusPay is a team of engineers working in the field of digital payments. One of their products, Express Checkout, is an SaaS unified layer on top of Payment Gateways, which provides a secure payment experience. The dashboard of the web app uses Node.js for implementing an analytics engine to show usage metrics. An old friend of ours, ReactJS, is a frontend technology leveraged on the project.
Why startups choose Node.js
Node.js possesses all typical benefits of a popular tech stack for web development, like open source or expansive ecosystem. Nevertheless, it does draw the attention of startupers searching for a reliable and usable tool to digitize their ideas. It’s not magic – the technology simply has several key strengths, which allow it to outcompete other market players.
One of the runtime’s killer features is the shareability of JS on both sides of the fence. It means that you can use Node.js for backend and frontend as well. In practice, this means an acceleration in development speed and a reduction of server-side maintainers. And don’t forget about the code – it will be significantly smaller in scope. A bunch of tools available within the node package manager (NPM) also contribute to development cycle optimization.
Despite the settled trend of using monolithic architecture in app development, microservices architecture is planning to get back on the throne. The idea of splitting an app into small services is highly appealing to startups, not to mention industry giants like PayPal or Netflix. In that context, Node.js is a perfect solution to support the best of microservices due to event-driven I/O model and a plethora of ready-to-use modules available through NPM.
The Node.js technology is suitable for building a plethora of product types including single-page apps, IoT, real-time applications, data streaming services and server-side web applications. We’ve tried to show that in addition to household names like Netflix or Uber, the technology is also popular with numerous underdogs, which are attempting to make their own niche in the market.
Node.js takes a special place in the pantheon of most prominent web development companies, including Railsware. We actively leverage this tech stack in our projects and share our experience with the readers. Recently, we researched the best Node.js hosting services. Those who are just getting started with this technology can benefit from our article on Node.js books. It is up to you whether to leverage Node in your project or not, but it is definitely worth your serious consideration!