We use Node.js because it provides a robust JavaScript server experience and starts to shift the line from traditional full-stack development to "more recently" JAMstack development. What defines a modern application now? I'm not exactly sure. But I love JAM, it's delicious and flavourful.
With Nodes' robust ecosystem of packages via npm and the team behind it having L.T.S. releases, you can safely trust using Node for enterprise-tier, in-production applications to support rapidly evolving businesses and their ever-changing needs.
MAJOR item of note is due to the large ecosystem of package available, having a solid vetting and review system when looking to use/import public packages is a must to maintain application security.
MAJOR item of note is due to the large ecosystem of packages available having an automated process for managing dependencies across a project and project's dev Dependancies is critical for application security (and developer sanity) but should not be the only line of defence.
- Ideally - having a private registry for your organization goes a long way for creating a modular, component-driven mindset for approaching development. The Javascript ecosystem is largely coming to expect and (personally) works well in tandem with this approach. Having a private, already approved set of items for development means quick scaffolding, faster prototyping and updates are to the package and you can decide versions at a per-project basis. Yay.
Devils' Advocate Of course, this sunshine and rainbows above come at the cost of upkeep, some added development complexity, good documentation behaviour (not just code comments...) and real on-boarding for the Jr's. As with all decisions in a DevOps pipeline looking to do this, it should not be implemented without good team planning.


