WHAT IS NODE JS
Node.js?is a?cross-platform,?open-source?server environment that can run on?Windows,?Linux,?Unix,?macOS, and more. Node.js is a?back-end?JavaScript?runtime environment, runs on the?V8?JavaScript Engine, and executes JavaScript code outside a?web browser.
Node.js lets developers use JavaScript to write command line tools and for?server-side scripting. The ability to run JavaScript code on the server is often used to generate?dynamic web page?content before the page is sent to the user's web browser. Consequently, Node.js represents a "JavaScript everywhere" paradigm,[6]?unifying?web-application?development around a single programming language, as opposed to using different languages for the server- versus client-side programming.
Node.js has an?event-driven architecture?capable of?asynchronous I/O. These design choices aim to optimize?throughput?and?scalability?in web applications with many input/output operations, as well as for?real-time Web?applications (e.g.,?real-time communication?programs and?browser games).[7]
The Node.js?distributed development?project was previously governed by the Node.js Foundation,[8]?and has now merged with the?JS Foundation?to form the?OpenJS Foundation. OpenJS Foundation is facilitated by the?Linux Foundation's Collaborative Projects program.[9]
Corporate users of Node.js software include?GoDaddy,[10]?Groupon,[11]?IBM,[12]?LinkedIn,[13][14]?Microsoft,[15][16]?Netflix,[17]?PayPal,[18][19]?SAP,[20]?Walmart,[21]?Yahoo!,[22]?and?Amazon Web Services.[23]
History[edit]
Ryan Dahl, creator of Node.js, in 2010
Node.js was written initially by?Ryan Dahl?in 2009,[24]?about thirteen years after the introduction of the first server-side JavaScript environment,?Netscape's?LiveWire Pro Web.[25]?The initial release supported only Linux and Mac OS X. Its development and maintenance was led by Dahl and later sponsored by?Joyent.[26]
Dahl criticized the limited possibilities of the most popular web server in 2009,?Apache HTTP Server, to handle a lot of concurrent connections (up to 10,000 and more) and the most common way of creating code (sequential programming), when code either blocked the entire process or implied multiple execution stacks in the case of simultaneous connections.[27]
领英推荐
Dahl demonstrated the project at the inaugural European JSConf on November 8, 2009.[28][29][30]?Node.js combined?Google's?V8?JavaScript engine, an?event loop, and a low-level?I/O?API.[31]
In January 2010, a?package manager?was introduced for the Node.js environment called?npm.[32]?The package manager makes it easier for programmers to publish and share source code of Node.js packages and is designed to simplify installation, updating, and uninstallation of packages.[31]
In June 2011, Microsoft and Joyent implemented a native?Windows?version of Node.js.[33]?The first Node.js build supporting Windows was released in July 2011.
In January 2012, Dahl stepped aside, promoting coworker and?npm?creator Isaac Schlueter to manage the project.[34]?In January 2014, Schlueter announced that Timothy J. Fontaine would lead the project.[35]
In December 2014, Fedor Indutny started io.js, a?fork?of Node.js. Due to the internal conflict over Joyent's governance, io.js was created as an?open governance?alternative with a separate technical committee.[36][37]?Unlike Node.js,[38]?the authors planned to keep io.js up-to-date with the latest releases of the Google V8 JavaScript engine.[39]
In February 2015, the intent to form a neutral Node.js Foundation was announced. By June 2015, the Node.js and io.js communities voted to work together under the Node.js Foundation.[40]
In September 2015, Node.js v0.12 and io.js v3.3 were merged back together into Node v4.0.[41]?This merge brought V8?ES6?features into Node.js and a long-term support release cycle.[42]?As of 2016, the io.js website recommends that developers switch back to Node.js and that no further releases of io.js are planned due to the merge.[43]
In 2019, the JS Foundation and Node.js Foundation merged to form the?OpenJS Foundation.
On March 15 2023, Node.js 19.8.1 was released.[44]