Node.js 2016 Review, Applications, and 2017 Outlook
This article reviews the major Node.js events of 2016—including version updates, the left‑pad controversy, Yarn, Chrome DevTools debugging, and ecosystem tools—describes common application scenarios and framework selection criteria, and offers predictions for Node.js development in 2017.
Node.js 2016 Review
1) Node.js version changes
Node.js 6.x was released as an LTS version and is suitable for production. Node.js 7.x introduced Async/Await support (behind a flag at the time). The 6.x LTS release achieved 99% ES6 compatibility according to node.green.
DevTools Inspector Integration
Capture Names of Listeners on an EventEmitter
Overhauled Buffers Constructor APIs
Unhandled Promise rejection warnings
Quick and Safe Temporary Directory Creation
Timing Attack Prevention
Process Warnings API
Symlink Preservation
V8 Performance Profiling Directly Through Node.js
Process CPU usage
2) Enterprise adoption in 2016
Companies such as Gaopeng rebuilt their entire web layer with Node.js, using it for API integration, backend services, and client‑side rendering. Skycatch leveraged Node.js for massive data queries, while Lowe’s Home Improvement used it to give engineers full‑stack responsibility and rapid prototyping.
3) The left‑pad incident
In March 2016, the author of the left‑pad package withdrew it from npm, causing thousands of projects (including Babel and React‑Native) to break. The episode highlighted the fragility of the npm ecosystem and led npm to change its unpublish policy to a 24‑hour window.
4) Yarn – an efficient npm alternative
Facebook and Google introduced Yarn in October 2016. Yarn improves on npm by offering better local caching, parallel installation, deterministic lockfiles, and enhanced security (no arbitrary code execution during install).
5) Chrome DevTools supports Node.js debugging
Node.js 6.3+ can be debugged with Chrome DevTools (Chrome 55+). Enabling the "Node debugging" experiment in Chrome’s flags allows stepping through server‑side code directly from the browser.
6) Lerna – managing multiple packages
Lerna (https://lernajs.io/) simplifies monorepo management and is widely used together with Babel and other tooling.
7) Flow and TypeScript gaining popularity
Flow adds static type checking to JavaScript, while TypeScript is a superset that compiles to plain JavaScript. Both improve code quality and developer productivity, especially for large, collaborative projects.
8) Evolution of asynchronous control flow
The progression includes synchronous code, callback hell, Thunk, Promise/A+, generators (yield), and finally async/await (stage‑3 at the time). Modern Node.js development favors async functions combined with promises.
Key points:
Async functions are the trend; V8 5.1 already supports them.
Promises are essential knowledge.
Generators are powerful but not mainstream.
The co library can wrap generators to return promises.
9) VSCode – a modern cross‑platform editor
VSCode runs on macOS, Windows, and Linux and offers strong support for Node.js debugging, TypeScript, Go, and web development. Its promotional tagline is:
A cross‑platform source‑code editor for modern Web and cloud applications, running on Mac OS X, Windows, and Linux.VSCode is open‑source (https://github.com/Microsoft/vscode) and has extensions for Go, among many others.
Node.js Application Scenarios
Web sites (Express, Koa, etc.)
Instant messaging (socket.io)
APIs for mobile, PC, H5
HTTP proxy (e.g., Taobao homepage)
Micro‑service RPC assembly
Front‑end build tools (Grunt, Gulp, Webpack, etc.)
Operating system projects (NodeOS)
Cross‑platform packaging (nw.js, Electron, Cordova)
Command‑line tools
Editors (Atom, VSCode)
Web Server vs. Application Server
A Web Server returns HTML responses, while an Application Server provides business‑logic APIs. Node.js can serve both static assets efficiently and handle complex request processing that traditional servers like Nginx cannot.
Proxy patterns
Node.js can act as a reverse proxy (similar to Nginx) or as an application‑level proxy, e.g., Taobao’s front‑back separation.
Framework Selection
When choosing a Node.js framework, consider:
Scenario – API, admin panel, or H5.
Team expertise – pick a mature, well‑supported framework if experience is limited.
Trend – align with the direction of the ecosystem.
Node.js 2017 Outlook
Front‑end tooling will continue to spread as infrastructure.
More full‑stack JavaScript developers will emerge.
Proxy and service‑assembly capabilities will grow.
Widespread adoption of TypeScript.
Async/await will become dominant, coexisting with promises for a while.
Node.js 8.x will fully support async/await.
Koa 2.x and its async version will gain traction.
Potential improvements for CPU‑intensive tasks.
Conclusion
In 2017 Node.js is expected to advance further on the backend, especially in RPC service assembly, driven by the momentum of React, Vue, TypeScript, Flow, Lerna, Webpack, and VSCode.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Qunar Tech Salon
Qunar Tech Salon is a learning and exchange platform for Qunar engineers and industry peers. We share cutting-edge technology trends and topics, providing a free platform for mid-to-senior technical professionals to exchange and learn.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
