Your SlideShare is downloading. ×
0
Author: Bhushan Patil
Date: 08 Mar 2014






Node.js or nodejs or “node” simply is
“server side JavaScript”
Node.js is software platform
for scalable server-s...




The V8 JavaScript Engine is an open
source JavaScript engine developed
by Google for the Google Chrome web
browser.
...


“JavaScript has certain characteristics that

make it very different than other dynamic
languages, namely that it has n...




A Web Framework
For Beginners – it’s very low level
Multi-threaded – You can think of it as
single threaded server


Node js is for real-time web
◦ Node shines in real-time web applications
employing push technology over websockets Vs
s...
Traditional way
var result = database.query("SELECT * FROM hugetable");
console.log("Hello World");

Vs
Asynchronous way
d...
var
max
var
for

i, a, b, c, max;
= 1000000000;
d = Date.now();
(i = 0; i < max; i++) {
a = 1234 + 5678 + i;
b = 1234 * 56...





Websocket Server - like chat application
Fast File Upload Client
Ad Server
Any Real-Time Data Apps


No Need of separate Server
◦ it does not require a separate webserver like Apache
or Nginx or IIS. It has an inbuilt HT...
Blocking code
var contents = fs.readFileSync('/etc/hosts');
console.log(contents); //Stop process until complete
console.l...
Traditional way
var result = database.query("SELECT * FROM hugetable");
console.log("Hello World");

Asynchronous way
data...
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
re...


npm, short for Node Package Manager, is
two things: first and foremost, it is an
online repository for the publishing o...








Some of the most popular NPM modules today are:
Express - Express.js, a Sinatra-inspired web
development frame...






Jade - One of the popular templating
engines, inspired by HAML, a default in
Express.js.
mongo and mongojs - Mong...






coffee-script - CoffeeScript compiler that allows
developers to write their Node.js programs using
Coffee.
unders...
// Include http module,
var http = require('http'),
// And mysql module
mysql = require("mysql");
// Create the connection...
And many .....







http://nodejs.org/
http://en.wikipedia.org/wiki/Nodejs
http://node.codeschool.com/
http://stackoverflow.com/qu...
Nodejs
Nodejs
Nodejs
Nodejs
Nodejs
Nodejs
Nodejs
Nodejs
Nodejs
Nodejs
Nodejs
Upcoming SlideShare
Loading in...5
×

Nodejs

914

Published on

Introduction to Node.js

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
914
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
53
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Nodejs"

  1. 1. Author: Bhushan Patil Date: 08 Mar 2014
  2. 2.    Node.js or nodejs or “node” simply is “server side JavaScript” Node.js is software platform for scalable server-side and networking applications. Allows you to build scalable network applications using JavaScript on the serverside. Node.js V8 JavaScript Runtime
  3. 3.   The V8 JavaScript Engine is an open source JavaScript engine developed by Google for the Google Chrome web browser. V8 compiles JavaScript to native machine code (IA-32, x86-64, ARM, or MIPS ISAs) before executing it, instead of more traditional techniques such as executing bytecode or interpreting it.
  4. 4.  “JavaScript has certain characteristics that make it very different than other dynamic languages, namely that it has no concept of threads. Its model of concurrency is completely based around events.” - Ryan Dahl (Author node.js)
  5. 5.    A Web Framework For Beginners – it’s very low level Multi-threaded – You can think of it as single threaded server
  6. 6.  Node js is for real-time web ◦ Node shines in real-time web applications employing push technology over websockets Vs stateless-web based on the stateless requestresponse paradigm.   Uses event-driven asynchronous callbacks Handles concurrency very well than other traditional web server
  7. 7. Traditional way var result = database.query("SELECT * FROM hugetable"); console.log("Hello World"); Vs Asynchronous way database.query("SELECT * FROM hugetable", function(rows) { var result = rows; }); console.log("Hello World");
  8. 8. var max var for i, a, b, c, max; = 1000000000; d = Date.now(); (i = 0; i < max; i++) { a = 1234 + 5678 + i; b = 1234 * 5678 + i; c = 1234 / 2 + i; } console.log(Date.now() - d); $a = null; $b = null; $c = null; $i = null; $max = 1000000000; $start = microtime(true); for ($i = 0; $i < $max; $i++) { $a = 1234 + 5678 + $i; $b = 1234 * 5678 + $i; $c = 1234 / 2 + $i; } var_dump(microtime(true) - $start); Time comparison in milliseconds It means PHP is 93% slower than Node.js!
  9. 9.     Websocket Server - like chat application Fast File Upload Client Ad Server Any Real-Time Data Apps
  10. 10.  No Need of separate Server ◦ it does not require a separate webserver like Apache or Nginx or IIS. It has an inbuilt HTTP Server library which makes it possible to run a webserver without external software, and allowing more control of how the webserver works.  Non-blocking code ◦ It does not execute line by line like other traditional languages.  Asynchronous programming ◦ Every function in Node.js is asynchronous. Therefore, everything that would normally block the thread is instead executed in the background.
  11. 11. Blocking code var contents = fs.readFileSync('/etc/hosts'); console.log(contents); //Stop process until complete console.log('Doing something else'); Non-Blocking code fs.readFile('/etc/hosts', function(err, contents) { console.log(contents); }); console.log('Doing something else');
  12. 12. Traditional way var result = database.query("SELECT * FROM hugetable"); console.log("Hello World"); Asynchronous way database.query("SELECT * FROM hugetable", function(rows) { var result = rows; }); console.log("Hello World");
  13. 13. var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello Worldn'); }).listen(1337, '127.0.0.1'); console.log('Server running at http://127.0.0.1:1337/'); If run at command prompt: % node example.js Server running at http://127.0.0.1:1337/ At browser: http://127.0.0.1:1337/ Hello World
  14. 14.  npm, short for Node Package Manager, is two things: first and foremost, it is an online repository for the publishing of opensource Node.js projects; second, it is a command-line utility for interacting with said repository that aids in package installation, version management, and dependency management.
  15. 15.     Some of the most popular NPM modules today are: Express - Express.js, a Sinatra-inspired web development framework for Node.js, and the defacto standard for the majority of Node.js applications out there today. connect - Connect is an extensible HTTP server framework for Node.js, providing a collection of high performance “plugins” known as middleware; serves as a base foundation for Express. socket.io and sockjs - Server-side component of the two most common websockets components out there today.
  16. 16.    Jade - One of the popular templating engines, inspired by HAML, a default in Express.js. mongo and mongojs - MongoDB wrappers to provide the API for MongoDB object databases in Node.js. redis - Redis client library.
  17. 17.    coffee-script - CoffeeScript compiler that allows developers to write their Node.js programs using Coffee. underscore (lodash, lazy) – The most popular utility library in JavaScript, packaged to be used with Node.js, as well as its two counterparts, which promise better performance by taking a slightly different implementation approach. forever - Probably the most common utility for ensuring that a given node script runs continuously. Keeps your Node.js process up in production in the face of any unexpected failures.
  18. 18. // Include http module, var http = require('http'), // And mysql module mysql = require("mysql"); // Create the connection. // Data is default to new mysql installation and should be changed according to your configuration. var connection = mysql.createConnection({ user: "root", password: "", database: "db_name" }); // Create the http server. http.createServer(function (request, response) { // Attach listener on end event. request.on('end', function () { // Query the database. connection.query('SELECT * FROM your_table;', function (error, rows, fields) { response.writeHead(200, { 'Content-Type': 'x-application/json' }); // Send data as JSON string. // Rows variable holds the result of the query. response.end(JSON.stringify(rows)); }); }); // Listen on the 8080 port. }).listen(8080);
  19. 19. And many .....
  20. 20.      http://nodejs.org/ http://en.wikipedia.org/wiki/Nodejs http://node.codeschool.com/ http://stackoverflow.com/questions/235381 8/how-do-i-get-started-with-node-js http://code.tutsplus.com/tutorials/nodejsfor-beginners--net-26314
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×