Table of Contents
What is Node.js used for? Let’s look at five major types of apps you can build with the help of Node.js and some real-life Node. js app examples.
Node.js was first introduced in 2009, and this day became a turning point in the life of the JavaScript community and runtime environments in general. The dream came true, and JavaScript turned from a pure frontend development language into a full stack. Node.js became the first step toward implementing Isomorphic JavaScript, also called Universal JavaScript.
Today, developers can use JavaScript to develop apps, such as real-time chats, 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 its choice isn’t so good for tech companies. In this article, we will look at five major types of apps you can build with the help of Node.js and some real-life Node.js web app examples.
What is the Node.js Application?
So, let’s start from the basics: according to TutorialsPoint,
Node.js is a platform built on Chrome’s JavaScript runtime for easily building fast and scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, turning the platform into a perfect solution for data-intensive real-time applications that run across distributed devices.
Node applications can be described as apps requiring a persistent connection from the browser to the server. For this reason, Node is great for social media apps and application streamings. The core Node.js application stack includes real-time options such as chat or web push notifications applications.
What Is Node.js app Used For?
So, what is so revolutionary about using Node.js apps? The most suitable case for using Node.js is for apps aiming to handle large amounts of concurrent connections without choking. Hence, this tool is appropriate for various mobile, desktop, web, and IoT projects. Node.js, hence, is one of the most popular platforms for a single-page app. So, what can you do with Node.js?
Here are examples of Node.js apps:
- Single-page applications
- Real-time applications
- Node.js applications for IoT devices
- Location-based applications
- Streaming applications
Benefits of using Node.js applications
Now that we know the basics of Node.js apps, it’s time to shift to the main Node.js application benefits.
- Usability. Node.js apps are known for their increased development speed and the absence of the need to create more code due to its single process backend and frontend development.
- Faster development process. Node.js requires less time to develop the same amount of functionality, compared to Java, for example, due to tools, such as event handlers and great user interface extensions.
- Microservices. Node.js fits the event-driven I/O model; thus, companies like PayPal and Netflix opted for this tool.
Top Node js application examples
Node.js is undoubtedly a powerful tool used for creating all sorts of applications that need modular services and concurrent requests. Want to discover more about why so many popular companies opt for this tool for their businesses? Let’s look at our new list.
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 are 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
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 daily, and it does it seamlessly — that’s the number one achievement of the Node.js non-blocking model. Yet, heavy data load isn’t the only problem that Node.js helped the PayPal team solve. Initially, the platform was developed with HTML, CSS, and JavaScript from the client-side and Java from the server-side. Two teams developed front and back end, which slowed down and complicated the development process. This issue turned into an annoying problem with time, 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 they simultaneously developed this very app in Java to play on the safe side. If something went wrong with the Node app, they would have a backup plan at hand. Later, the company admitted that they wrote their first Node.js application two times faster than the analogous Java one. It was constructed of 40% fewer files and 33% less code.
The average response time in Node.js is about 35% lower than in Java, and Node handles 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 development efficiency, speed, convenience, and improved performance.
Ecommerce apps
E-commerce 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 numerous simultaneous user 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
The number of active users: 182 million
The year of launch: 1995
The country of launch: USA (San Jose, California)
Initially, eBay was built on a Java-based tech stack, with the entire workflow 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, the best decision would be to go with a tried and trusted core technology to achieve stability and reliability. Yet, as the business grew more popular, eBay had to scale its platform, and scalability isn’t a strong point of Java, requiring many lines of code for adapting. It was when the company started exploring Node.js. They chose Node.js for three fundamental reasons: developer agility, system scalability, and app performance. Ultimately, these features helped completely change the game for an entire application.
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 front-end stack running on Node.js.
eBay seems to have never stopped growing, and Node.js helps eBay on its endless uphill journey. Few popular applications enjoy Node.js scalability as much as eBay does.
Streaming apps
Streaming is rapidly turning into one of the most profitable branches of the entertainment industry. Similar to eCommerce apps, these platforms must 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
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 transitioned to Universal JavaScript to unite back-end and front-end under the same language and improve performance and speed. They opted in favor of Node.js for the back end and React.js development services for the front-end. After all, such an approach promised to facilitate the development process due to simple code writing, debugging, and many 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.
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 to withstand heavy data load and provide a practical user experience. It also allowed the developers to introduce any necessary changes quickly and easily.
Networking apps
Social networking apps have to be reliable and scalable. On the one hand, they feature many personal information — phone numbers and email addresses in the best-case scenario and financial information in the worst-case scenario. On the other hand, the system should expand as the network grows larger. 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.
The best-known networking Node.js application examples 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 isn’t 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 wasn’t optimized for JSON translation, and it complicated the development of the mobile LinkedIn application. 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. 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 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 significant technical vector change for the LinkedIn team. Yet, this change proved to be a good one. The outstanding performance and reliability of the LinkedIn platform prove that the LinkedIn team made an excellent choice.
Twitter Lite
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’s network resilient, interactive in under five seconds over 3G, and resource-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 deploy.
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 requests data from the Twitter API once the app is opened by the browser.
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 application to a new level. Its powerful and seamless performance greatly improves the user experience. Meanwhile, the convenience of Node.js tools greatly facilitates development.
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 many connections have to be kept open simultaneously. It isn’t among CPU-intensive applications; instead, the app targets many connections. They used Node.js even at the prototyping stage — the Node.js server was a mere library of functions invoked over a WebSocket. Prototyping with Node.js granted the team great flexibility and development speed, which were essential 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 considerable amount of continuation passing. Yet, the Trello team solved these challenges, mainly 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 web solutions with options for desktop applications 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 vast room for the opportunity to do that in the enterprise applications.
Medium
The number of active users: 60 millions
The year of launch: 2012
The country of launch: the 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, helping an average software engineer with information and traffic management. The choice of Node.js for Medium backend 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 routing expensive content 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 for sites and customers.
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 among the best available drivers for the backend, 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.
IoT
The subject of IoT and Node.js is so vast and vital that it’s worth its article. We have written one! Feel free to read it if you want a deep dive into the Node.js in IoT. But keeping it short, Node.js benefits IoT development because of the following:
- It’s fast and performant,
- It’s easily integrated with IoT protocols,
- It facilitates IoT development with the help of IoT modules,
- It’s resource-efficient and scalable.
In Conclusion
Node.js development is the number one choice for FinTech, eCommerce, streaming, networking, and IoT apps due to its scalability, reliability, and stability. 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 — 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 your app can be developed with JavaScript on both sides?
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.