Subscribe / Unsubscribe Enewsletters | Login | Register

Pencil Banner

Key Success factors for adopting Node.js

Dan Shaw, CTO & Co-Founder, NodeSource | Aug. 26, 2016
Node.js takes asynchronicity to the extreme on the server, making it the perfect choice for I/O-heavy and highly concurrent applications

JavaScript—and Node.js by extension—was designed for the web and the browser, where nothing is synchronous. Asynchronous JavaScript programs can perform many complex, parallel tasks in the browser. Node.js takes asynchronicity to the extreme on the server, making it the perfect choice for I/O-heavy and highly concurrent applications.

Module-driven Development

Node.js is a highly productive platform that is modular by nature and has a track record as a key component in an agile technology stack. Node.js embraces the new mantra of “Throwawayability” that is becoming pervasive in the microservices architecture world of software design, encouraging developers to think in terms of creating small components and services that can be easily replaced or updated when necessary.

By adopting a module-driven approach, Node.js developers can deconstruct the functionality of large monolithic applications and redesign them as a series of Node.js modules, bundled together to form a collection of services. This establishes an elegant simplicity in building scalable application functionality that improves both business and developer agility and leads to greater code-reuse.

Having development teams focusing on Node.js-style modular development enables them to:

  • Maintain focus on essential functionality
  • Better test, validate and document that functionality
  • More easily share and collaborate with other teams

Small core, vibrant ecosystem

The main risk in large monolithic applications and traditional development methods is the natural mission creep of applications and the development environments that build them. Over time this results in feature-rich but bloated products.

The Node.js platform avoids this scenario by creating a small core of essential functionality that is studiously defended and constantly debated by the Node.js community. This pushes experimentation to the edges and encourages a vibrant ecosystem and development culture. It also ensures that spurious functionality does not become a permanent part of the Node.js environment. This ethos also extends to Node.js-style development, with developers constantly thinking about how to keep modules small and focused, and splitting apart functionality in accordance with a “do one thing well” software component philosophy.

Most IT organizations now realize the increasing difficulty of modernizing their development and operations without embracing open source technology, development and collaboration methodologies to some degree.

Node.js was born in the new era of open source, embodied by the GitHub model of developer interaction, collaboration and governance. Both Node.js and GitHub allow for a public and private open source development platform that empowers a growing, global community of developers.

Enterprises adopting Node.js generally seek to capture some of the obvious benefits of open source development practices and ethos. The culture and development workflow of Node.js encourages greater collaboration, communication and code-sharing — engineering practices that often go missing as enterprises grow and change over time.

Embracing Node.js in the enterprise

 

Previous Page  1  2  3  Next Page 

Sign up for CIO Asia eNewsletters.