• UltimatePccInc.com


Is Modularity the Strongest Selling Point of Node.js?

Written by Mike Roberts. Posted in Internet

Legions of Node.js developers around the world swear by their JavaScript framework of choice citing things such as scalability, ease of use, agility, and performance as very good reasons for choosing it over any other alternatives. Curiously enough, it’s hard to get developers to commit to what the framework’s strongest selling point might be. Perhaps it is modularity.


If you are familiar with the world of Node.js development, you are probably familiar with the fact that PayPal dove into the world of Node.js in 2013 when it completely rewrote its account overview application using the open source framework. Prior to the rewrite, the application ran on Java.


Since PayPal’s glowing review of the rewrite, there has been plenty of criticism regarding their performance benchmarks. That debate remains up in the air. What cannot be denied is that two Node.js developers completed the rewrite in two months while a competing Java team of 20 were still not done in eight months. Switching to Node.js most definitely increased efficiency while saving both time and money.

Modular Design More Efficient


A great post from Venture Beat explains how the modular design of Node.js helped PayPal completely rewrite its most used application at breakneck speed without sacrificing the quality of the finished product. It starts with the knowledge that there is no place in Node.js development for older, monolithic code. The developers of two decades ago may have thought that monolithic applications were the best way to build for stability and performance, but that is no longer the case.


Software development today is about service-oriented architectures that can deal with complex structures and operations more efficiently and with more shared code. Therefore, the Node.js developer builds large and complex projects by focusing on creating one module at a time. Each module serves a particular function within the greater framework as it contributes to the whole. But more importantly, individual modules can be shared among multiple applications being worked on by multiple teams – even across several platforms.


One can easily see the benefit of this modular structure by stepping back and taking inventory of all of the web applications that make up the PayPal site. Rather than each development team having to build a monolithic application from the ground up, they can start by assessing existing modules that might be shareable. Where there is nothing available, a new module can be created to fill the gap. That new module can be added to the inventory and possibly shared later on.


A Friendlier Ecosystem


After discussing the modular design of Node.js, the Venture Beat piece goes on to briefly address the ecosystem created by Node.js development. That ecosystem is one that is somewhat open-ended across all levels of software development. In other words, the Node.js developer does not exist in a cocoon where his/her work is isolated from what’s being done at other levels.


The Node.js ecosystem is one in which developers at various levels and layers collaborate in open space. This promotes faster and more robust development that benefits everyone within a given ecosystem. The result is a self-propagating ecosystem that grows and expands naturally, making the entire thing stronger with every new contribution.


One might be able to argue that Node.js does not offer performance improvements over Java significant enough to do a complete rewrite of complicated web applications. But it cannot be denied that the framework’s modular design is more efficient and creates a better ecosystem for future development. For the typical Node.js developer, choosing a framework for new projects is a no-brainer.