2 July, 2020
Node.js is easily one of the biggest sweethearts of backend development. Its popularity around the world is constantly growing, especially in the USA with its start-up kingdom, Silicon Valley. It’s no wonder that over 175,398 websites (some of them being THE biggest players on the market) already put Node.js on their backend. In this article, I’ll check out the benefits of Node.js web development, present massive corporations and well-known companies that use this web framework and answer a burning question – why use Node.js in your software project? Hey, ho, let’s go!
What is Node.js?
Which is good news because now developers are able to use the same solution for both frontend and backend of web applications they work on. We’ll talk more about what is Node.js used for later.
What started small, is now an open-source with MIT licence, supported by a massive community and hundreds of add-ons. According to Stack Overflow 2019 survey, Node.js is now the most popular tool in “Frameworks, Libraries, and Tools” category with 50% of answers!
Node.js services are getting more and more popular, hence why they get a brand new release at least twice a year. The current Long Term Support Node.js 14 version will be available until April 2023. We’ve already described the new Node.js 14 features on our blog, so if you’re interested, make sure to give this article a read.
What is Node.js used for?
Okay, you’ve got the basic. Now let’s get into details. What makes Node.js so appealing for developers and software companies around the world?
Nowadays, it’s the most popular type of application. Nearly all web applications need some kind of backend to communicate with databases or other external services. Thanks to the big community, you can easily find a library to create e.g. REST or GraphQL API. In the past, Node.js was recommended only for applications with a low number of CPU-intensive operations. Since release version 10.5.0 you can use worker threads to do it.
- Streaming web applications
Every day we use streaming services for listening to music or watching videos. Without downloading the content, we can binge your favourite TV series just on the internet. Is Node.js a good choice to stream data? Of course! It has built-in streams module allowing you to transmit a huge amount of data in chunks, sequentially. Thanks to this, you don’t have to temporarily store or cache data in your application memory at all. Also, you can work on chunks while streaming, so e.g. encoding a video won’t be a problem anymore.
- Real-time web applications
Because Node.js is very good at handling lots of I/O operations, you can use it to build a real-time web application, for example, a chat room where people can talk to each other in real-time. Or maybe a collaboration tool, where co-workers will work on the same document at the same time. Done! Building a video conference web application also won’t be a problem. It is possible thanks to Node’s Events API and WebSockets.
Recently, this approach in application development has become very popular. Because of the lightweight nature of Node.js, it is easy to make your solution scalable. Node.js is our technology of choice for building and deploying microservices. And it’s not only The Software House – a lot of companies migrate to Node.js when they want to move to the microservices. You can see it for yourself in our State of Microservices 2020 report.
- Command Line Tools
With a huge number of available packages in NPM, you can easily create simple and also more advanced command-line tools suited for your requirements.
Why Node.js is used in business? Scalability!
You already know why technical folks fall in love with Node.js. Now it’s time to explain, why Node.js is so appealing for business.
Node.js is a super-fast, high-performance and lightweight web framework, ideal for asynchronous programming. With Node.js you are able to execute multiple actions at the same time. What’s more, you can advantage from serverless and have your pick from various cloud computing models and providers like Amazon Web Service or Google Cloud Platform.
If you want to see how Node.js and serverless work in practice, check out:
- Serverless application development introduction – make an application in 5 minutes
- Serverless architecture in Node.js: A case study of an open-source aplication
Node.js allows you for better scalability, improved performance and optimised costs. Your team will save loads of time by using reusable, ready-to-run components of node modules. As far as the team is concerned, you can scale it as well depending on what resources you need at the moment – just like your company starts small and then grows.
It may not be THE most popular web framework (yet) but Node.js has definitely dominated other frameworks in the traffic aspect. According to the Web Technology Surveys, Node.js used by websites with extremely high traffic (as you’ll later see in the examples). You can see it in the graph below.
Benefits of Node.js
I can talk about the Node js advantages for ages. We don’t have that much time, you want to develop your project after all. I’ll talk about the most important benefits of Node.js that, from my experience as Node.js developer, are true blessings for both business and software development.
- Open-source NPM repository – with over 60 thousand available modules you can easily find a ready to use solution for your problem, instead of reinventing the wheel.
- Scalable systems – thanks to the lightweight nature of Node.js it’s really easy to scale application horizontally by deploying many instances of your project to the different servers. You can also scale your system vertically, by using cluster built-in module that will fork the application process to all the CPU cores you have.
- Good for microservices – we’ve talked about this before but it’s still worth mentioning that a lot of companies migrate to Node.js when they want to move to the microservices. Just sayin’.
- Non-blocking I/O paradigm – the main problem with I/O operations is waiting for a response. Because Node.js is one-threaded, waiting for database query will block the entire application. That’s why you should use a non-blocking API. After calling it, the thread can continue working on another task. When the I/O operation will be completed, you will be notified about it by a callback. The main advantage and result of this approach is improved efficiency by handling a lot of simultaneous connections.
- Time to market – very often a business has a great idea for a web application but needs to verify it on a market. With Node.js you can deliver an MVP very fast which reduces the amount of money and effort needed to achieve it.
- Tested on production – since Node.js was created in 2009 a lot of companies have had an opportunity to check how Node.js works on production. Well, it worked quite well because a lot of big players decided to move to the Node.js.
Just so you know, I’m absolutely not making this up. The research “Node.js User Survey Report” speaks for itself. Node.js advantages business in many ways. As you can see below, Node.js benefits have a positive impact not only on the products but also on costs, team culture, morale, customer satisfaction and so on.
I think it’s high time you meet those big market players who adopted Node.js in their products.
Which companies decided on using Node.js in their web applications?
I hope you’re sitting because here come the numbers. By introducing Node.js, Netflix managed to lower their startup time from 40 minutes to under 1 minute!
Worldwide PayPal has over 325 million active accounts. The first quarter of 2020 marked PayPal’s net payment volume – 190.57 billion USD with 3.26 billion online transactions. You have to admit, those numbers are overwhelming.
Effect? Introducing Node.js doubled the number of requests PayPal could handle per second, and page response time is 200ms faster.
In 2016 Microsoft acquired LinkedIn for the mind-blowing price – 26 billion USD and by 2020, LinkedIn had over 675 million users on board.
As far as the mobile server is concerned, Node.js is entirely Node-based. The LinkedIn team decided that two particular Node.js benefits were crucial for their project – easy scaling and communication with other services (the mobile LinkedIn app talks to the platform’s API and databases).
Available in 65 countries and 600+ cities, Uber completes over 14 million trips daily. Overall, nearly 4 million Uber drivers have already driven passengers to their destinations over 10 billion times worldwide. I guess we don’t think about the scale when we order an Uber home after a night out…
In order to handle millions of notifications, passengers-drivers matches and requests daily, Uber needed a really fast and scalable solution. They decided on using Node.js because it processes a lot of information quickly and it’s possible to inspect and change a program and fix the necessary error without restarting the app. Now, the Uber development team can write and deploy new code and fixes when needed.
In 2020, deal site Groupon had over 200 million mobile app downloads and 41.8 million unique customers who had bought at least one deal in a year.
After switching from Ruby on Rails, the Groupon development team noticed a lot of Node.js benefits – 50% faster loading time, using less hardware for the same amount of traffic, developing and implementing features much faster without depending on other engineering teams.
182 million users in 190 countries with the US being the dominant market (35% of all US mobile users use eBay mobile app!).
That insane amount of traffic required scalable, fast and stable solution. By transferring to Node.js, eBay wanted to reach two goals: make their app as real-time as possible, and connect and configure eBay services that display any information for end-users. Needless to say, goals were achieved.
Last but not least, Node.js may not be rocket science but it definitely helped rocket scientists. NASA is probably one of the most important organisations in the entire world ever (The Milky Way galaxy? Universe?) and surely recognises a useful technology when it sees one. It so happens, that Node.js actually saves human life in outer space.
During a spacewalk in 2013, astronaut Luca Parmitano almost died when water started leaking into his helmet.covering his eyes, ears and nose. Luckily, his colleague Chris Cassidy was there to escort him to safety. After that, NASA halted all spacewalks and investigated what happened.
Now, according to “Node.js Helps NASA Keep Astronauts Safe and Data Accessible” case study, “The system […] uses a microservices architecture with separate APIs and applications built in Node.js to move data related to the EVA spacesuits from three separate legacy databases to a cloud database. Now users can query that one database for everything, reducing the time to access a comprehensive set of data by about 300%.” Safety first!
Of course, the list is not complete. Other notable companies using Node.js include Twitter, Medium, Wall Street Journal, Aliexpress, Tumblr, Github, BBC, Home Depot, IBM, Coursera, Mastercard, Trello, Pinterest, Sony, Siemens, BMW, Target, Airbnb, Walmart, Mozilla, Wikipedia, The New Yorker, Change.org.
Why use Node.js in your next software project?
Like I’ve mentioned at the very beginning of this article, Node.js is The Software House’s sweetheart. We’ve hired and/or trained over 20 Node.js developers and 10 full-stack programmers which makes it one of the biggest Node.js teams in Poland. And it’s still growing in numbers!
Our Node.js specialists not only conduct lots of successful Node.js software projects. Check out the sample web applications in our portfolio – the powerful and intuitive ticket sales CMS for content editors – Reservix. They also conduct training, present on IT conferences, organise online webinars and write insightful articles about Node.js on our blog.
So if you’re looking for a reason why use Node.js in your software project, look no further. We’re here to assist and advise you – just give us a shout!