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 that we’ve already learned when compared Python vs. Ruby vs. Node.js. Having weighed all the 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 a 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.
Internet of Things
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 technology is a perfect choice for building streaming applications. The technology enables you to transmit parts of the code without closing the 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.
Read more about what you can create with Node in our blog post What is Node.js used for.
Best Node.js projects
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.
We used to believe that startups have exclusive rights for using contemporary technologies including Node.js. However, American Express is doing its best to overturn this statement and prove it keeps pace with the times. This financial services corporation aims at progressive application space by adopting best practices on the web as well. One of them is to have Node.js on the backend. Cool to know that this profitable mature enterprise looks towards optimizing its web app performance using advanced technology.
Groupon is an American e-commerce marketplace that started out on Ruby on Rails. Later on, the company’s tech stack supplemented PHP and Java for South America and Europe correspondingly. At one point, Groupon realized that their huge growth rate requires a more scalable and flexible technology to satisfy their needs. Node.js was a perfect choice for many reasons, but the core one was to dismantle the monolithic app. This re-architecture contributed to the rise of Node.js as a tech stack in the enterprise world.
It is a Progressive Web App designed to push Twitter functionality on slow mobile networks like 2G. To make it happen, the team had to rewrite almost everything including the backend part, which was rebuilt on Node.js. They managed to achieve the expected goals and were impressed with the superb development speed offered by the JS runtime environment. The success of using this tech stack laid the foundation for the further implementation of Node.js benefits on Twitter projects.
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 a prominent transportation startup. Every day, Uber handles over 15 million trips. Accordingly, the app’s performance is the first-priority thing. Node.js plays an essential role in building the Uber’s dispatch system, as well as user interfacing APIs. The JS runtime environment along with Python was the primary tech stack 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:
- 20x increase in performance
- universal language for client and server sides
- 10x reduction of server number.
Many software development companies including Railsware leverage this Node.js web app. Trello is a PM tool designed to serve 100 million users. It means the server side 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 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 the potential of Node.js.
Admission Desk – Education (Coursera-like)
Admission Desk is an RTA created for students and people striving for learning. 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 in 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 a 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 the 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 the 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. Railsware actively leverages this tech stack in our projects and always shares our experience with the readers. So, discover the best Node.js hosting services, as well as Node.js books, to delve into the topic area. Node.js is definitely worth your serious consideration and can become an ideal choice for your project.