The document discusses Node.js, an event-driven JavaScript runtime for building scalable network applications. It covers the benefits of Node.js like small core size, multi-platform support, and NPM module system. It also provides instructions on installing Node.js and describes popular Node.js frameworks like Express, Jade and Stylus. The document recommends some online resources for learning more about Node.js, Express and these templating languages.
3. about me
15 years programming experience
Software Developer and MSSQL DBA @ Com-
UT/Sedimap
using Node.js about 3 years
Quinta-feira, 22 de Agosto de 13
5. Node -About
Node.js is a platform to build fast and scalable
network applications
we know this can be very painful and hard in some languages
Quinta-feira, 22 de Agosto de 13
6. Node -About
It is built on GoogleV8 JavaScript engine, the libuv
platform abstraction layer and a core library, which is
itself primarily written in JavaScript.
perhaps the best and faster JavaScript engine...
Quinta-feira, 22 de Agosto de 13
7. Node -About
event-driven
defined as an application technique in which the
application has a main loop
non-blocking I/O
is a form of I/O processing that permits other processing to
continue before the last transmission has finished
Quinta-feira, 22 de Agosto de 13
9. Node - Benefits
Small Core
Multi-Platform
implements some CommonJS specifications
Easy to use, easy to start
JavaScript on server, JavaScript on client
Single thread simplifies concurrency
Package Module (NPM)
Community
Great Modules (like underscore, async, express, request, etc...)
Rapidly changing, e.g., updating in shortly time
Quinta-feira, 22 de Agosto de 13
10. Installing Node
Go to http://nodejs.org/
Windons and Mac OS X click on “install”
Linux, using package manager
Gentoo, Ubuntu, Fedora, etc...
Quinta-feira, 22 de Agosto de 13
11. Installing Node(Cont.)
Install from source code
wget http://nodejs.org/dist/v0.10.x/node-v0.10.x.tar.gz
tar xzf node-v0.10x.tar.gz
./configure
make
make test
make install
node --version
Quinta-feira, 22 de Agosto de 13
12. NPM
How to find a module
npm search express
https://npmjs.org/
Some attentions you need to take before install a module
were updated relatively recently
have github repositories linked
have READMEs with good documentation
have at least some number of people instaling them every
week
are liberally licensed (feel free to use)
Quinta-feira, 22 de Agosto de 13
13. Installing a module
Global Mode
will install in /usr/local/lib/node_modules
is more suited for modules that should always be available
Local Mode
NPM default mode
“your application path”/node_modules
is ideal for installing the modules your applications depends
don’t affect others applications that you have installed
use always this mode is more safe
Quinta-feira, 22 de Agosto de 13
16. About
is a minimal and flexible web application
framework
provide a robust set of features for building
single, multi-page and hybrid web applications
is based on the Connect middleware
and implements MVC
Quinta-feira, 22 de Agosto de 13
17. Installing & Generate an
app
sudo npm install -g express
express --sessions --css stylus myapp
cd myapp & npm install
node app
Quinta-feira, 22 de Agosto de 13
18. Express - app
package.json (some app
settings)
app.js (launch app)
public/*
routes/*
views/*
Quinta-feira, 22 de Agosto de 13
19. Jade
is a high performance template engine
implemented with JavaScript for node
Quinta-feira, 22 de Agosto de 13
21. Stylus
robust, feature-rich CSS language built
for node
providing an efficient, dynamic and
expressive way to generate CSS
Quinta-feira, 22 de Agosto de 13