Ryan Dahl, Joyent, Node.js Foundation Asynchronous event driven framework built on top of Google V8 JS engine 2002 Pivotal Software Inversion of control container with extensions to ease JEE development JAVA SPRING NODE.JS
front-end and the back-end removed an artificial boundary between the browser and server, allowing engineers to code both • Built almost twice as fast with fewer people • Written in 33% fewer lines of code • Constructed with 40% fewer files • Double the requests per second vs. the Java application • 35% decrease in the average response time
Faster • Much better performance and lower memory overhead than other tested options, running up to 20x faster in some scenarios • Programmers could leverage their JavaScript skills • Front-end and back-end mobile teams could be combined into a single unit • Servers were cut to 3 from 30. Enough headroom remains to handle 10x current levels of resource utilisation
to move much faster in bringing their designs to life” “On the server side, our entire mobile software stack is completely built in Node. One reason was scale. The second is Node showed us huge performance gains” “Node’s evented I/O model freed us from worrying about locking and concurrency issues that are common with multithreaded async I/O”
EntityManager entityManager; public Message process(Message msg) { … } } var config = require('config'); var push = require('./push'); var dao = require(config.dao); function process(message) { … } module.exports = { process: process }; www.npmjs.com/package/config a popular module to manage development to production configurations Node.js Spring IoC
huge value for us Does a strongly typed language help you? There is a trend shared by the community to publish Node.js modules easy to use Asynchronous code has never been so easy
when building an application with JavaScript The Node.js ecosystem does not compete yet with some sophisticated libraries It’s almost impossible to know what your Node.js program is doing at all times