Ask HN: What is Node.js? Framework, VM, stdlib or a platform?
What is the place of Node.js on a standart stack? It's like VM but, V8 is like. It's framework-like, but not. JavaScript is the language, V8 is the interpreter and the VM-ish...
I'm completely confused. Can someone help me to figure it out?
10 comments
[ 3.3 ms ] story [ 26.4 ms ] threadNodeJS is a JS interpreter. You can run Node and execute JS code inside it. Node is written in C/C++, like V8, and so it can be compiled for a lot of architectures. You can therefore run JS code "natively" on a machine. Node is single-threaded, event-driven, and can do IO. It's not a framework. It has a set of standard features (just like Python has a standard library) like an HTTP server for example. Frameworks for Node are written in JS and use the standard library to facilitate development of complex apps. Express is a popular Node framework to write web servers.
Need more?
http://en.wikipedia.org/wiki/NodeJS
http://radar.oreilly.com/2011/07/what-is-node.html
http://stackoverflow.com/questions/1884724/what-is-node-js
http://www.makeuseof.com/tag/what-is-node-js-and-why-should-...
V8 converts javascript to machine code, and node.js basically acts as a middle man to add functionality to javascript like "event driven programming" which can't be implemented through a basic framework.
What makes it unique is that you use Node Standart Library with Javascript to harness the power of those.
It's an implementation of the Reactor pattern basically.
Sits somewhere between an inflated library and a higher-level framework (since there are packages).
https://manual.cs50.net/seminars/#_node_js
There's also a bunch of other really good ones