How far can Node JS go?
- Windows and OS X Desktop Applications — Using Electron companies including Slack and Microsoft (Visual Studio Code) have used this Node tool set to create native applications.
- iPhone and Android Applications — React Native now provides native-quality experiences for significant portions of Facebook’s mobile applications in addition to those of companies like CBS Sports, Vogue, and apparently Walmart in the near future.
Anyone who has been involved in building large scale applications knows that scalability and performance are what matters the most. Usually one wants to scale out rather than scaling up. That is to say, it is better to scale by adding more machines rather than bigger machines. However, it is still needed to make the most out of a machine and to have it serve seamlessly as many clients as possible in parallel. This is a matter of costs (after all, it is always a matter of costs ). A server will therefore need to serve concurrently many requests.
Now lets get back to Node JS:
One of the things that makes Node.js uniquely suited to running in production is that you can inspect and change a program without restarting it. — Matt Ranney, Sr. staff engineer at Uber
With that being said Node.js, being a non-blocking event-driven model presented developers a possibility to build applications in real-time. With push technology and 2-way connections, many top companies use it.
The best example of using NODE JS is that NODE “Helps NASA keep astronauts safe.” Though, not exactly an application this Node.js project for space agency showcases the power of JS technology. After one dangerous incident in space, NASA found out its data to be scattered on many locations. They decided to build own end-to-end data system and went with Node.js.
NASA moved everything in a cloud and constructed a Node.js enterprise scale architecture. They used web API to link two environments. As result:
- 1 database for everything
- Access times reduction of 300%
Uber has built its massive driver / rider matching system on Node.js Distributed Web Architecture. This quote from Kris Kowal, Software Engineer at Uber sums up the Uber Node.js story very well:
“Somewhere in the world, someone needs to get where they need to go, and without the flexibility and reliability that Node.js provides that someone might be left thirsty for another transportation option.”
In other words NODE JS in a nutshell: