Subscribe / Unsubscribe Enewsletters | Login | Register

Pencil Banner

Node.js goes pro: New opportunities -- and risks

Serdar Yegulalp | Feb. 13, 2015
The meteoric rise of Node.js means greater scrutiny of tools and shortcomings in the years ahead.

My future roads paths businessman

In its mere five years of existence, Node.js has transformed from a technological curiosity to a technology stack all its own, providing a major building block for everything from microservices to APIs.

The better part of the rise is due to the ecosystem of tools, development environments, and hosting services that has evolved around Node.js in response to the need to make existing development tools Node.js-friendly (such as Visual Studio) and to provide Node.js with the kind of professional-level support and service it requires.

But tooling specific to the needs of Node.js apps gives a more granular view of the health of the Node.js ecosystem, showing both how far Node.js has come and how far it still has to go. High-profile shifts away from Node.js, including the recent introduction of a fork, magnify not only the limitations of the Node.js ecosystem but also the direction in which the ecosystem must evolve.

Here is a look at the future of Node.js as seen in developments emerging today.

Development environments: Uneven -- and looking beyond the traditional IDE

Not surprisingly, JavaScript development environments have long revolved around authoring and debugging JavaScript as a client-side affair. Though the JavaScript consoles in Chrome and Firefox provide an REPL interface, among other debugging tools, they are mainly aimed at satisfying the needs of client, not server, developers.

For those looking to use JavaScript beyond the client, intriguing authoring and debugging tools are emerging. A project from StrongLoop, makers of a stack of Node.js dev tools, will allow experienced developers to leverage front-end JavaScript debugging tools for Node.js debugging on the back end. Node.js Inspector plugs Chrome's Developer Tools into a running Node.js instance, enabling its inspection, breakpoint, step-through, source-file navigation, and REPL functionality to work directly with Node.js apps. It doesn't yet perform profiling, though, and while there is another project in the works to satisfy that need (Node.js Webkit Agent), it too is largely incomplete, and only profiles heap and CPU usage for Node.js apps.

When it comes to IDEs, the picture is a little rosier. For one, most every professional IDE has not only JavaScript support but Node.js support; here, Visual Studio and Eclipse lead the pack. While they clearly favor Microsoft's ecosystem, the Node.js tools for Visual Studio, for example, now feature local and remote debugging, NPM support, and many other functions needed by Node.js developers.

Outside of the conventional IDE sandbox, interesting things are happening with Node.js. Consider IBM's Node-RED, billed as "a visual tool for wiring the Internet of things." With Node-RED, code is wired together in flows, or visual diagrams that show how "hardware devices, APIs, and online services" are connected. Obviously the programming isn't done with flows alone; a copy of Eclipse is embedded within Node-RED for writing JavaScript. It isn't likely that all Node.js apps could be created or edited this way, but it's one example of how Node.js is inspiring new approaches to development tooling that looks beyond the conventional IDE.

 

1  2  3  4  Next Page 

Sign up for CIO Asia eNewsletters.