User:Wonderfl/sandbox

From Wikipedia, the free encyclopedia

Friends[edit]

Node.js Overview[edit]

Node.js allows the creation of Web servers and networking tools using JavaScript and a collection of "modules" that handle various core functionality[1][2][3][4][5] Modules are provided for file system I/O, networking (DNS, HTTP, TCP, TLS/SSL, or UDP), binary data (buffers), cryptography functions, data streams[6] and other core functions.[1][4][7] Node.js's modules use an API designed to reduce the complexity of writing server applications.[1][4] Node.js's modules use an API designed to reduce the complexity of writing server applications.

Node.js applications can run on Mac OS X, Microsoft Windows, NonStop,[8] and Unix servers. They can alternatively be written with CoffeeScript[9] (a JavaScript alternative), Dart or Microsoft TypeScript (strongly typed forms of JavaScript), or any other language that can compile to JavaScript.[9]

Node.js is primarily used to build network programs such as Web servers, making it similar to PHP.[3] The biggest difference between Node.js and PHP is that most functions in PHP block until completion (commands execute only after previous commands have completed), while functions in Node.js are designed to be non-blocking (commands execute in parallel, and use callbacks to signal completion or failure).[3]

Platform architecture[edit]

Node.js brings event-driven programming to web servers, enabling development of fast web servers in JavaScript.[1] Developers can create highly scalable servers without using threading, by using a simplified model of event-driven programming that uses callbacks to signal the completion of a task.[1] Node.js was created because concurrency is difficult in many server-side programming languages, and often leads to poor performance.[2] Node.js connects the ease of a scripting language (JavaScript) with the power of Unix network programming.[1]

Node.js was built on the Google V8 JavaScript engine since it was open-source under the BSD license, extremely fast, and proficient with internet fundamentals like HTTP, DNS, TCP.[2] Also, JavaScript was a well-known language, making Node.js immediately accessible to the entire web development community.[2]

Industry support[edit]

Thousands of open-source libraries have been built for Node.js, most of which are hosted on the npm website. Its developer community has two main mailing lists and the IRC channel #node.js on freenode. There is an annual Node.js developer conference, called NodeConf.[10]

The open source community developed server frameworks to accelerate the development of applications. Common frameworks include Connect, Express.js, Socket.IO, Koa.js, Hapi.js, Sails, Meteor, Derby, and many others.[1][11]

Modern desktop IDEs provide editing and debugging features specifically for Node.js applications. Such IDEs include Atom, Brackets, JetBrains WebStorm,[12][13] Microsoft Visual Studio (with Node.js Tools for Visual Studio,[14] or TypeScript with Node definitions[15][16][17][18]), NetBeans,[19] Nodeclipse Enide Studio[20] (Eclipse-based) and Visual Studio Code.[21][22] Certain online web-based IDEs also support Node.js, such as Codeanywhere, Cloud9 IDE and Koding. Regardless, any text editor such as Notepad++ may also be used in place of an IDE, albeit without code completion or debugging support.

  1. ^ a b c d e f g Cite error: The named reference b1 was invoked but never defined (see the help page).
  2. ^ a b c d Cite error: The named reference b3 was invoked but never defined (see the help page).
  3. ^ a b c Node.js for PHP Developers, O'Reilly Media, Inc., 2013
  4. ^ a b c Node.js Essentials, Packt Publishing, 09-Sep-2014
  5. ^ Smashing Node.js: JavaScript Everywhere, John Wiley & Sons, 14-Aug-2012
  6. ^ Sahil Chitkara. "Streams in node.js : Readable and Writable". TO THE NEW BLOG.
  7. ^ Modules, Nodejs Website
  8. ^ Cite error: The named reference bomBora - Node.js for NonStop was invoked but never defined (see the help page).
  9. ^ a b "CoffeeScript on Node.js". O'Reilly Media, Inc. April 15, 2013. Retrieved May 17, 2015.
  10. ^ Finley, Klint (April 7, 2011). "NodeConf Schedule Announced". ReadWriteHack. Retrieved 2 August 2014.
  11. ^ Express.js Guide: The Comprehensive Book on Express.js, Azat Mardan, 28-May-2014
  12. ^ Node.js, WebStorm supports integration with the Node.js runtime environment, WebStorm Help
  13. ^ Running and Debugging Node.js, WebStorm Help
  14. ^ "Node.js Tools for Visual Studio". Retrieved 1 Feb 2016.
  15. ^ soywiz/typescript-node-definitions TypeScript's typings for some popular node.js modules, GitHub
  16. ^ DefinitelyTyped, GitHub
  17. ^ The repository for high quality TypeScript type definitions[dead link]
  18. ^ ImageBoard, A Node.js + Express + MongoDB application built using TypeScript on the server, TypeScript Samples
  19. ^ Krill, Paul (2015-11-10). "Node.js takes center stage in NetBeans 8.1". InfoWorld.
  20. ^ Nodeclipse, Enide -- Node.JS development in Eclipse, Nodeclipse Website
  21. ^ Hello Visual Studio Code (with NodeJS), Channel 9, Microsoft
  22. ^ Node.js Applications with VS Code, Visual Studio Code