In early 1995, Brendan Eich from Netscape, took charge of the design and implementation of a new language for non-java programmers to give access to newly added Java support in Netscape navigator.
- It executes on the client’s browser, so eliminates server-side processing.
- It executes on any OS.
- Performance of web page increases due to client-side execution.
Uber needs to handle loads of data in real-time. They have millions of requests coming in continuously, and that does not just hit on a page. Uber needs to track driver locations, rider locations, and incoming ride requests. It has to seamlessly sort that data and match riders as fast as possible.
Uber is a global transportation company, headquartered in San Francisco, CA. The company is doubling in size every 6 months, operates in 6 continents, 68 countries, 633 cities worldwide. Since its launch in 2012, Uber has become one of the most recognized alternatives to a traditional taxi. Therefore, Uber needs a platform that will keep running no matter what.
Their app connects driver-partners and riders, thus, it has to process an enormous amount of information at a fast-growing scale. Uber chose Node.js to build its massive matching system due to its ability to keep up with the pace of Uber’s huge business needs and enhanced data processing capabilities.
“Node.js is particularly well-suited to writing systems that have all their state in memory,” said Kris Kowal, Software Engineer at Uber. “They do not have to externalize the concerns of a distributed system. As a consequence, the systems can be more available, and they can respond more quickly to requests by eliminating the reading/writing and the serialization of state into a database.”
Benefits of Node.js for Uber:
- Quick and reliable processing of extreme amount of data
- Elimination of errors without the need to restart
- Quick deployment of the new code
- Strong open source community that constantly develops new solutions