Module counts from modulecounts.com as of December 2015
Fast forward one year and npm's growth shows no signs of slowing down. In fact, npm's move from ~200,000 to ~350,000 packages has forced the Module Counts site to reconfigure their chart's y axis.
Module counts from modulecounts.com as of December 2016
There are a number of factors that have led to this increase, and one of them is a growing number of enterprise companies using Node in their infrastructure. In last year's discussion we made the following prediction.
"In 2016 expect to see further adoption of Node and its package manager npm. The continued adoption of Node from large companies — Microsoft, IBM, Intel, Progress, etc. — as well as enterprise-friendly features such as long-term support plans, may signal a growth in Node adoption in the enterprise, replacing typical enterprise solutions like .NET and Java."
This wasn't exactly a risky or unique predidction given Node's growth, but it does seem to have been accurate. Node's own case study page has a small list of not-very-small companies that have now adopted Node, including the likes of Netflix, GoDaddy, and Capital One.
But perhaps the most telling sign of Node's use in critical infrastructure comes from the first company listed on that page—NASA. You can read Node's case study on NASA for yourself, but I'll drop in an excerpt here just to give you an idea.
"When you've got the safety of astronauts on the line, little hiccups and service interruptions turn into life-and-death situations. From EVA [extra vehicular activity] data to astronauts up in space, Node.js helps ensure there's a safe home for everything and everyone."
Searching for "angular" on npmjs.com returns nearly 10,000 results. Angular is one of many libraries that is distributed via npm.
PhoneGap and Cordova
Google's home page for Progressive Web Apps
PWAs bring many native-like features to the web world, such as push notifications, offline access, and home screen icons. Last year we predicted that Google would start pushing the PWA approach a little. That prediction has turned out to be, well, wrong—as Google has made it clear that they're heavily committed to the PWA approach through a number of events. The recent Chrome Developer Summit featured a staggering number of talks on PWAs, as did this year's Google I/O conference.
PWAs are relevant for our discussion because they eat into the primary use case of Cordova apps—web apps that need a bit of native functionality. If you have a web app that needs offline access or push notifications, building a PWA is a compelling alternative to building a Cordova-based native app. Although it's hard to gauge how many people are choosing PWAs over hybrid apps, most data does show that Cordova usage has flatlined or is declining. For instance here are Cordova's weekly download numbers for the last two years. As you can see, although Cordova's numbers are still very healthy, the trend line is no longer heading upwards as it was this time last year.
Weekly downloads of the "cordova" npm package from December 2014 until December 2016. Data from npm-stat.com.
But there's another factor playing into this decline. Although we believe PWA usage is eating into Cordova's usage, we also believe a relatively new entry in the mobile world is taking market share from Cordova as well.
Native mobile apps
In last year's discussion we predicted that 2016 would be a year where these frameworks matured and started to see widespread usage, and that prediction appears to have been accurate. For example, you can see a continuous increase in React Native's weekly download numbers over the last two years.
Weekly downloads of the "react-native" npm package from December 2014 until December 2016. Data from npm-stat.com.
The same trend line is also present for NativeScript.
Weekly downloads of the "nativescript" npm package from December 2014 until December 2016. Data from npm-stat.com.
Weekly downloads of the "electron" and "nw" npm packages from September 2016 to November 2016. Data from npm-stat.com.
In December of 2015, Electron had 20,000 GitHub stars and NW.js had 25,000; today, Elecron has nearly 40,000 stars while NW.js has just over 30,000.
Electron has also started to gain traction among mainstream desktop apps. The framework now powers the Visual Studio Code, the popular editor from Microsoft that boasted over a half million users back in April. Electron has also managed to perform the rare act of gaining popularity in both the React and Angular communities, and it's easy to find tutorials for Electron usage with both frameworks on the web.
If you ask an analyist about what's coming in the development world, they'll bust out a bunch of buzzwords like virtual reality, chatbots, and the Internet of Things (IoT).
"Bot Builder for Node.js is a powerful framework for constructing bots that can handle both freeform interactions and more guided ones where the possibilities are explicitly shown to the user. It is easy to use and models frameworks like Express & Restify to provide developers with a familiar way to write Bots."
Other articles in this series: