Ask HN: What is Node.js? Framework, VM, stdlib or a platform?
I'm completely confused. Can someone help me to figure it out?
I'm completely confused. Can someone help me to figure it out?
NodeJS 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.
It's an implementation of the Reactor pattern basically.
Sits somewhere between an inflated library and a higher-level framework (since there are packages).
What makes it unique is that you use Node Standart Library with Javascript to harness the power of those.
https://manual.cs50.net/seminars/#_node_js
There's also a bunch of other really good ones