Node.js Introduction

                                                 Duong “Yang” H. Nguyen, @cmpitg
                    Fedora Ambassador, Certified Mozillian
                                    Hanoi Community Space
                                               cmpitg [at] gmail dot com




        This document is licensed under the terms of
Creative Commons Non-commercial Share-Like 3.0 Unported
Agenda

What    Node.js is and is not?
Why    Node.js?
How    to use? (with demo)
As   a scripting engine
Best   uses (briefly)
Frameworks/Tools

Questions
What Node.js is and is not?
 Is/does
A    framework
Providing    evented, non blocking I/O
Built   on top of Google's V8
JS   environment
                                                      NOT
Very    very fast!
                                          A   web framework:
                                                –Ruby on Rails
                                              – Django
                                              – Yii
                                          Multi-threaded
Why Node.js?
●   Is JavaScript!
●   Event-driven, non-blocking
●   Fast as hell
●   Easy to scale
●   V8 is well supported by Google
●   And fun!
Why Node.js?
 Callback demo:


   setInterval(function () {
     console.log("Hello World")
   }, 1000);


   console.log("Done setting!");
How to use?

Installation:

      Install Node.js
      –
    – Install NPM
    – Install modules

Demos:
      –   Simple HTTP server
      –   Simple echo server
As a Scripting Engine

Modules:

     – Processes & Child Process
    – Filesystem
    – Utilities

Docs: http://nodejs.org/api/
Best Uses

Writing   highly concurrent server applications
Applications   which share between server and
 client
Peer-to-peer   web programming using
 websockets
And of course – highly concurrent web
 programming
Frameworks/Tools

NPM    – Node Package Manager
Express   – Minimalistic MVC web framework
TowerJS    – Rails-like web framework
Jade   – Template engine
Socket.IO   – Websocket library
…   and much more!
Thank you for your attention!

Sfd hanoi2012 nguyen ha duong yang node.js-intro

  • 1.
    Node.js Introduction Duong “Yang” H. Nguyen, @cmpitg Fedora Ambassador, Certified Mozillian Hanoi Community Space cmpitg [at] gmail dot com This document is licensed under the terms of Creative Commons Non-commercial Share-Like 3.0 Unported
  • 2.
    Agenda What Node.js is and is not? Why Node.js? How to use? (with demo) As a scripting engine Best uses (briefly) Frameworks/Tools Questions
  • 3.
    What Node.js isand is not? Is/does A framework Providing evented, non blocking I/O Built on top of Google's V8 JS environment NOT Very very fast! A web framework: –Ruby on Rails – Django – Yii Multi-threaded
  • 4.
    Why Node.js? ● Is JavaScript! ● Event-driven, non-blocking ● Fast as hell ● Easy to scale ● V8 is well supported by Google ● And fun!
  • 5.
    Why Node.js? Callbackdemo: setInterval(function () { console.log("Hello World") }, 1000); console.log("Done setting!");
  • 6.
    How to use? Installation: Install Node.js – – Install NPM – Install modules Demos: – Simple HTTP server – Simple echo server
  • 7.
    As a ScriptingEngine Modules: – Processes & Child Process – Filesystem – Utilities Docs: http://nodejs.org/api/
  • 8.
    Best Uses Writing highly concurrent server applications Applications which share between server and client Peer-to-peer web programming using websockets And of course – highly concurrent web programming
  • 9.
    Frameworks/Tools NPM – Node Package Manager Express – Minimalistic MVC web framework TowerJS – Rails-like web framework Jade – Template engine Socket.IO – Websocket library … and much more!
  • 10.
    Thank you foryour attention!