It can be tough to adopt new technologies in the enterprise. How do you convince your enterprise leadership that Node.js is the future? How do you let them know they are missing the
next big thing?
Open source is the future
If you must convince your leadership of this, well, good luck. Developers want to work places that support open source, not simply use open source.
Node.js is changing the face of the open source community because it is relatively young but has the most active community of any platform. This point needs to be underlined: Node.js has thousands of actively maintained packages of high quality open source software. Already. It took years for Java to get that far.
In the coming years, if a company strategy does not include open source development, they can kiss their devs goodbye. To remain competitive candidates, developers must be plugged into open source, maintain their GitHub and StackOverflow.com profiles, and stay on top of new libraries for their given platform. Quite honestly your tech manager or director is in danger of being obsolete if they don't grasp open source. Help them out!
Async and HTTP APIs
Everybody has an HTTP JSON API now. The entire web uses this communication standard. Developers expect to be able to communicate with your platform using JSON over HTTP. It's secure, fast, distributed, cloud-friendly, etc. New applications use a distributed grouping of cloud services from different providers, from Redis or Memcached session storate, message queues, databases - especially replication-friendly NoSQL ones like CouchDB and MongoDB. Static resources are hosted on different servers. SMTP sending is handled by third party senders "transactional" services like Amazon SES, Mandrill, or SendGrid. And even the SMTP packages are sent as JSON.
Quite honestly, Node.js is
perfectly poised to communicate as JSON over HTTP.
JSON is (obviously!) native to the JavaScript language. The Node.js networking libraries, plus numerous open source
NPM packages, make it insanely easy to communicate over any network protocol.
Now that we've established the ubiquity of JSON APIs, do you really want to develop synchronous programs and block your application execution thread while you wait for a reply? Probably not. Node can handle tens of thousands of concurrent connections on a single thread with modest resources due to the asynchronous nature of the language and the geniuses at Google who develop the V8 engine. It is extremely good at linking web services together.
Other languages add asynchronous functionality as an afterthought. In Node.js and JavaScript as a language, it is a core component.
Less ramp up time
Your developers already code JavaScript on the frontend. They likely have only a marginal understanding of the power of JavaScript's object-oriented features and the callback paradigm, but that can be grasped quickly. Once they do "get it" they will reach new levels of productivity with their web service development. An understanding of JavaScript's functional prototypical inheritance pattern and the use of asynchronous callbacks makes it easier to leverage these features in other languages.
How have you had success getting your company to adopt Node.js?