The general consensus of the experts is that Node.js will continue to play an important role in web app development despite the impending release of the io.js forked version. Still, some developers have decided to switch to the Go programming language and other alternatives, which they consider better suited to large, distributed web apps.
The developer community appears to be tiring of the constant churn in platforms and toolkits. Jimmy Breck-McKye points out in a December 1, 2014, post on his Lazy Programmer blog that it has been only two years since the arrival of Node.js, the JavaScript framework for developing server-side apps quickly and simply.
Soon Node.js was followed by Backbone.js/Grunt, Require.js/Handlebars, and most recently, Angular, Gulp, and Browserify. How is a programmer expected to invest in any single set of development tools when the tools are likely to be eclipsed before the developer can finish learning them?
Node.js still has plenty of supporters, despite the recent forking of the product with the release of io.js by a group of former Node contributors. In a December 29, 2014, post on the LinkedIn Pulse blog, Kurt Cagle identifies Node as one of the Ten Trends in Data Science for 2015. Cagle nearly gushes over the framework, calling it “the nucleus of a new stack that is likely going to relegate Ruby and Python to has-been languages.” Node could even supplant PHP someday, according to Cagle.
Taking the opposite view is Shiju Varghese, who writes in an August 31, 2014, post on his Medium blog that after years of developing with Node, he has switched to using Go for Web development and as a ” technology ecosystem for building distributed apps.” Among Node’s shortcomings, according to Varghese, are its error handling, debugging, and usability.
More importantly, Varghese claims Node is a nightmare to maintain for large, distributed apps. For anyone building RESTful apps on Node.js, he recommends the Hapi.js framework created by WalMart. Varghese predicts that the era of using dynamic languages for “performance-critical” web apps is drawing to a close.
The Node.js fork may — or may not — be temporary
When io.js was released in late November 2014, developers feared they would be forced to choose between the original version of the open-source framework supported by Joyent, and the new version created by former Node contributors. As ReadWrite’s Lauren Orsini describes in a December 10, 2014, article, the folks behind io.js were unhappy with Joyent’s management of the framework.
Io.js is intended to have “an open governance model,” according to the framework’s readme file. It is described as an “evented IO for V8 JavaScript.” Node.js and io.js are both server-side frameworks that allow web apps to handle user requests in real time, and the io.js development team reportedly intends to maintain compatibility with the “Node ecosystem.”
At present, most corporate developers are taking a wait-and-see approach to the Node rift, according to InfoWorld’s Paul Krill. In a December 8, 2014, article, Krill writes that many attendees at Intuit’s Node Day conference see the fork as a means of pressuring Joyent to “open up a little bit,” as one conference-goer put it. Many expect the two sides to reconcile before long — and before parallel, incompatible toolsets are released.
Still, the io.js fork is expected to be released in January 2015, according to InfoQ’s James Chester in a December 9, 2014, post. Isaac Z. Schluetler, one of the Node contributors backing io.js, insists in an FAQ that the framework is not intended to compete with Node, but rather to improve it.
Regardless of the outcome of the current schism, the outlook for Node developers looks rosy. Indeed.com’s recent survey of programmer job postings indicates that the number of openings for Node developers is on the rise, although it still trails jobs for Ruby and Python programmers.
Regardless of your preferred development framework, you can rest assured that your MySQL, MongoDB, Redis, and ElasticSearch databases are accessible when you need them on the Morpheus database-as-a-service (DBaaS). Morpheus supports a range of tools for connecting to, configuring, and managing your databases.
You can provision, deploy, and host all your databases on Morpheus with just a few clicks using the service’s dashboard. Visit the Morpheus site for to create a free account!