Nodyn project enables Node.js apps to work directly with existing Java apps “JavaScript everywhere, and everything ported to JavaScript” — it’s either a running joke in IT these days or a stone-cold truth. Evidence is tending toward the latter, what with Node.js becoming a jack-of-all-trades framework for many workloads and environments. With Nodyn, Node.js gains yet another place it can run: the Java Virtual Machine. Nodyn, a project sponsored by Red Hat via its Project:Odd team, works by leveraging two other projects: the DynJS project, which provides the actual JavaScript runtime (ECMAScript, actually) for the JVM, and the Vert.x application platform/event bus system. But the main motive for allowing Node.js apps run on the JVM isn’t the mere novelty of doing so; it’s about allowing Node.js apps to work directly with existing Java apps. Consequently, the Nodyn project is also part of the JBoss ecosystem for the sake of further integration with the rest of the Java application world, as well as apps from any other language currently running on the JVM (such as, Clojure). Because of the way Nodyn is implemented, it isn’t a direct port of the Node.js code. Instead, it replicates the functionality of Node.js’s APIs. Not everything works yet — the wiki page devoted to tracking Nodyn compatibility with Node.js shows how things like the VM API (itself unstable in Node.js) and TLS/SSL haven’t been implemented yet. Anyone expecting drop-in compatibility for Node.js apps at this stage is going to be let down; for now the project is best approached as a future direction for Node.js and Java to move closer together, not as an actual production solution. Nodyn is far from the only way to have Node.js talk to other platforms. One solution native to Node itself is node-ffi — short for “Foreign Function Interface” — which allows Node.js to create bindings with dynamic libraries without needing any C++ code on the part of the Node.js programmer. It isn’t clear yet how node-ffi’s performance will stack up against Nodyn in the long run, although Nodyn seems like it’s aiming to be the far more complete, robust solution of the two, thanks to such features as the clustering capabilities inherent in Vert.x. Related content reviews Review: UiPath aces robotic process automation UiPath Enterprise RPA Platform is a remarkably complete toolkit for process automation that is also remarkably easy to use By James Borck May 06, 2019 9 mins Application Integration Artificial Intelligence Software Development feature Improving on Git-flow for continuous delivery Git was written by a developer for developers, which leaves other stakeholders in the lurch By John Williston Apr 14, 2015 8 mins Jakarta EE Build Automation Java feature 7 reasons why frameworks are the new programming languages Thanks to powerful tools, the need for speed, and the shifting nature of programming itself, your next nerd fight will be over framework APIs, not syntax By Peter Wayner Mar 30, 2015 9 mins Jakarta EE Web Development Java tip APIs aren’t apps: Make them as thin and light as possible For fast and scalable APIs, forget the heavy frameworks and go lean By Paul Venezia Mar 23, 2015 4 mins Core Java Jakarta EE Java SE Resources Videos