Difference between revisions of "Node.js"

From Freephile Wiki
Jump to navigation Jump to search
Line 1: Line 1:
Node.js is a platform for doing network applications using [[JavaScript]] on the client and server.  Basically, it's like an Apache web server, written in C, and using the Chrome browser's JavaScript engine.  The community is well-developed and there are many pre-written 'modules'. See the [[wp:Node.js|wikipedia article]] for more.
+
== Intro ==
 +
[http://radar.oreilly.com/2011/07/what-is-node.html What is node?]<ref>Radar O'Reilly article from 2011 that is a good overview.</ref> [https://www.youtube.com/watch?v=OUCHr2H-7_g video with Tom Hughes-Croucher of Joyent] Node.js is a platform for doing network applications using [[JavaScript]] on the client and server.  Basically, it's like an Apache web server, written in C, and using the Chrome browser's JavaScript engine.  The community is well-developed and there are many pre-written 'modules'. See the [[wp:Node.js|wikipedia article]] for more.
  
 
== Links ==
 
== Links ==
Line 19: Line 20:
 
== Front-end Build Tools ==
 
== Front-end Build Tools ==
 
When doing nodejs development or [[front-end development]], you may also wish to employ some sort of build system or task runner for performing repetitive tasks like minification, compilation, unit testing, linting, etc.
 
When doing nodejs development or [[front-end development]], you may also wish to employ some sort of build system or task runner for performing repetitive tasks like minification, compilation, unit testing, linting, etc.
* While many people have been using '[http://gruntjs.com/ Grunt]'  
+
* While many people have been using '[http://gruntjs.com/ Grunt]'
 
* I like '[http://slides.com/contra/gulp Gulp]' better because it's code over configuration and more intuitive.
 
* I like '[http://slides.com/contra/gulp Gulp]' better because it's code over configuration and more intuitive.
 
* Meanwhile, Andrew Krespanis of SitePoint shows a great example of how you can simply [http://www.sitepoint.com/using-gnu-make-front-end-development-build-tool/ use GNU Make for a front-end development build tool]
 
* Meanwhile, Andrew Krespanis of SitePoint shows a great example of how you can simply [http://www.sitepoint.com/using-gnu-make-front-end-development-build-tool/ use GNU Make for a front-end development build tool]
Line 25: Line 26:
 
== Node Happenings ==
 
== Node Happenings ==
 
The people of Node (e.g. [https://github.com/mikeal Mikeal Rogers]) are doing a lot of interesting things.  Like [http://jsfest.com/ JSFest] which happened in SanFrancisco 2014, or Node school.
 
The people of Node (e.g. [https://github.com/mikeal Mikeal Rogers]) are doing a lot of interesting things.  Like [http://jsfest.com/ JSFest] which happened in SanFrancisco 2014, or Node school.
 +
 +
{{References}}
  
 
[[Category:JavaScript]]
 
[[Category:JavaScript]]

Revision as of 11:24, 21 May 2014

Intro[edit | edit source]

What is node?[1]video with Tom Hughes-Croucher of Joyent Node.js is a platform for doing network applications using JavaScript on the client and server. Basically, it's like an Apache web server, written in C, and using the Chrome browser's JavaScript engine. The community is well-developed and there are many pre-written 'modules'. See the wikipedia article for more.

Links[edit | edit source]

  • Node.js official website
  • Node.js API docs
  • npm - the official package manager for Node.js
  • nvm - Node Version Manager. A bash script to manage multiple active node.js versions. Although the packaged node.js for Ubuntu 12.04 is rather old, nvm allows you to instantly use the newest version; and use multiple versions (if your projects have certain dependencies) without problem.
  • nodejs modules
  • Felix's Node.js Guide
  • Learnable.com has an intro to node.js course which is valuable.
  • Node School
  • Socket.io a node.js module for WebSockets
  • Express - a web application framework for node
  • NeDB Node embedded database similar to MongoDB
  • AngularJS - a 100% JavaScript client-side templating framework that provides data binding. Not related to node.js, but useful on the client-side.
  • nipster search for npm modules

Front-end Build Tools[edit | edit source]

When doing nodejs development or front-end development, you may also wish to employ some sort of build system or task runner for performing repetitive tasks like minification, compilation, unit testing, linting, etc.

Node Happenings[edit | edit source]

The people of Node (e.g. Mikeal Rogers) are doing a lot of interesting things. Like JSFest which happened in SanFrancisco 2014, or Node school.

References[edit source]

  1. Radar O'Reilly article from 2011 that is a good overview.