Rod Boothby is the co-founder and COO of npm, Inc. Rod’s career started at WellsFargo and Ernst & Young before branching out as an entrepreneur. npm is Rod’s 3rd tech start-up. He is passionate about helping developers succeed and loves sharing powerful new technology. Rod’s favorite npm tag is #NicePeopleMatter.
The use of JavaScript, node.js and npm itself are all exploding. At npm, Inc. we have the data to prove it. npm is an open-source package manager that wraps up modules of javascript code and makes it very easy to share that code.
For example, in the last month, Salesforce developers have typed “npm install jsforce” over 3,000 times to install jsforce, which is a “Salesforce API Library for JavaScript applications (both on web browser and Node.js)”. jsforce is an open-source solution that was created by Shinichi Tomita, Founder & CEO at mashmatrix, Inc. Mashmatrix is a consultancy based in Tokyo Japan that helps companies with maximize the value of CRM investments with customized system integrations. jsforce one over 60 npm packages that help JavaScript developers work with Salesforce APIs.
How Big is the Growth of JavaScript and npm?
The following graph gives an idea how often developers are downloading packages of open-source Javascript code distributed by npm:
What’s Driving All This Growth?
There is a growing list of companies having a great deal of success with Node and Javascript in the Enterprise. Companies like PayPal, Yahoo! and IBM have talked publicly about adopting node.js and using Javascript for more than just front-end development. For example, at NodeconfEU, PayPal’s Jeffrey Harrell gave a great talk on 9 anti-patterns for node.js teams. As Jeffrey points out, PayPal has 35 live node.js apps (marketing, signup, account, payments, etc) and has over 400 new JavaScript engineers since 2013. This public success is driving some of the growth.
These companies are seeing productivity gains with Node, not just because Node is faster in many cases, but also because npm allows large teams to stitch big apps together from lots of little independent packages of code. npm is unique amongst package managers because it is designed to avoid “dependency hell”. If we are both working on an app together and we are using different versions of a dependency, npm will make sure our app still works. Other platforms force tighter coordination, so we would both have to use exactly the same versions of all dependencies. npm means developers can work with greater independence.
Some of the growth is being driven by companies like NodeSource, which is helping large IT organizations transform themselves into efficient Node development shops. Based in the EU, NearForm is providing Node training and consulting services.
The growth is also been driven by an increasingly sophisticated set of free self-driven open-source training resources available at NodeSchool.io
Vibrant Ecosystems of Plugins
Interestingly, dozens of platforms and frameworks with entire ecosystems of npm plugins have sprung up.
- Hapi – “Framework for building apps and services” – 41 Hapijs plugins hosted on npmjs.org
- Grunt – “Javascript Task Runner” – Over 3000 Grunt plugins hosted on npmjs.org
- Gulp – “Streaming build System” – Over 700 Gulp plugins hosted on npmjs.org
- Browserify – “Modules in the browser” – 1,000+ plugins hosted on npmjs.org
- Heroku – Cloud Application Platform – Over 500 plugins that work with Heroku APIs are hosted on npmjs.org
Companies relying on npm plugins for key parts of their business model include:
- Linerate – software load balancer bought by f5 uses npm
- Tessel – Technical machine has made an IOT prototyping platform that leverages npm
Addition of Secure Enterprise Features
All this enterprise use of npm packages of node.js and JavaScript code has created a demand an npm client that supports both the sharing of public open source code and the sharing of private code amongst a limited set of users.
At ExactTarget Connections 2014, on Tuesday, Sept. 23rd, npm Co-Founder and CTO Laurie Voss is going to be walking developers through Extending the CLI for npm. The talk will cover the addition of a new user or organizational scope. The scope enables access control. The basic npm use case is:
npm install <pkg-name>
This is complemented with the ability to also do something like this:
npm install @your-co/<pkg-name>
Today, developers can get this ability by installing a private npm registry powered by npm Enterprise behind their firewall. The team at npm is working to add similar enterprise class support as a SaaS solution. Isaac Schlueter, the creator of npm has published a detailed introduction to npm scoped modules on GitHub.
A Continuous Cycle of Growth – in the Enterprise
We know that they are mainly using this technology at work because most of the downloads happen during work hours.
As more developers add to the growing list of npm packages, Javascript developers have an ever-increasing set of tools to help them be more productive.