JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka
-
Upload
nurul-ferdous -
Category
Technology
-
view
110 -
download
0
description
Transcript of JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka
![Page 1: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/1.jpg)
NodeJSJS as a Server-side Language
NewsCred
Iraj Islam @irajislam
Nurul Ferdous @ferdous
Saturday, September 17, 2011
![Page 2: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/2.jpg)
Agenda
• Part 1. NodeJS
• Part 2. ExpressJS
• Questions?
NewsCred
Saturday, September 17, 2011
![Page 3: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/3.jpg)
Who We Are NewsCred
Iraj IslamCTO/Co-founder, NewsCred
Nurul FerdousSenior Software Engineer, NewsCred
Saturday, September 17, 2011
![Page 4: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/4.jpg)
Part 1NodeJS
NewsCred
Saturday, September 17, 2011
![Page 5: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/5.jpg)
Server-side JS NewsCred
Saturday, September 17, 2011
![Page 6: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/6.jpg)
What’s NodeJS? NewsCred
NodeJSWhat’s this all about?
Saturday, September 17, 2011
![Page 7: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/7.jpg)
What’s NodeJS? NewsCred
NodeJSEvented I/O for V8 JavaScript.
Saturday, September 17, 2011
![Page 8: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/8.jpg)
What’s NodeJS? NewsCred
Goal“Provide an easy way to build scalable
network programs.”
Saturday, September 17, 2011
![Page 9: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/9.jpg)
History NewsCred
The Evolution of the WebFrom static pages to real time data.
Saturday, September 17, 2011
![Page 10: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/10.jpg)
Why NodeJS? NewsCred
The Age of Big DataExabytes (1018) of data stored per year
0
250
500
750
1000
20062007
20082009
2010
Saturday, September 17, 2011
![Page 11: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/11.jpg)
Why NodeJS? NewsCred
The Fast Food AnalogySynchronous vs. Asynchronous
Saturday, September 17, 2011
![Page 12: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/12.jpg)
Why NodeJS? NewsCred
The Apache SolutionSynchronous I/O
readFile();
Application
MySQL
User FileSystem
getTweets();
writeToDb();
Twitter API
Saturday, September 17, 2011
![Page 13: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/13.jpg)
Why NodeJS? NewsCred
The Apache SolutionBlocking I/O
readFile();
Application
MySQL
User FileSystem
Waiting...
getTweets();
Waiting...
writeToDb();
Twitter API
Saturday, September 17, 2011
![Page 14: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/14.jpg)
Why NodeJS? NewsCred
The NodeJS SolutionAsynchronous I/O
readFile();
Application
MySQL
User FileSystem
getTweets();
writeToDb();
Twitter API
Saturday, September 17, 2011
![Page 15: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/15.jpg)
Why NodeJS? NewsCred
The NodeJS SolutionNon-blocking I/O
readFile();
Application
MySQL
User FileSystem
getTweets();
writeToDb();
Twitter API
Saturday, September 17, 2011
![Page 16: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/16.jpg)
NodeJS Benefits NewsCred
• Fast• Built on top of Google’s V8 JavaScript engine.
• Scalable• Asynchronous, event-driven I/O model yields web scale.
• Programmable• JavaScript API and pluggable module architecture.
Saturday, September 17, 2011
![Page 17: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/17.jpg)
• Serving APIs
• Serving real-time apps
• Serving web apps
• Streaming data
NodeJS Use Cases NewsCred
Saturday, September 17, 2011
![Page 18: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/18.jpg)
NodeJS “Hello World!” NewsCred
var http = require('http');
http.createServer(function (request, response) { response.writeHead(200, {'Content-Type':
'text/plain'}); response.writeHead('Hello World!');}).listen(1337, '127.0.0.1');
Saturday, September 17, 2011
![Page 19: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/19.jpg)
Who’s Using NodeJS? NewsCred
Saturday, September 17, 2011
![Page 20: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/20.jpg)
Installing NodeJS NewsCred
• Installing on Unix
• Installing on Windows• Run http://nodejs.org/dist/v0.5.6/node.exe
Saturday, September 17, 2011
![Page 21: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/21.jpg)
Installing npm NewsCred
• Node Package Manager (npm)
• One line install:• curl http://npmjs.org/install.sh | sudo sh
• Multi-line install:• Get the code from http://github.com/isaacs/npm
• Do what the REAMME says
Saturday, September 17, 2011
![Page 22: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/22.jpg)
Part 2ExpressJS
NewsCred
Saturday, September 17, 2011
![Page 23: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/23.jpg)
What’s ExpressJS? NewsCred
ExpressJSHigh-performance NodeJS
web framework.
Saturday, September 17, 2011
![Page 24: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/24.jpg)
Why ExpressJS? NewsCred
• Full blown feature set• Routing
• View rendering/templating
• Sessions
• Good documentation• Lots of examples
• Many extensions
Saturday, September 17, 2011
![Page 25: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/25.jpg)
Installing ExpressJS NewsCred
Saturday, September 17, 2011
![Page 26: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/26.jpg)
Directory Structure NewsCred
Saturday, September 17, 2011
![Page 27: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/27.jpg)
Configuration NewsCred
Saturday, September 17, 2011
![Page 28: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/28.jpg)
Application Settings NewsCred
Saturday, September 17, 2011
![Page 29: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/29.jpg)
Routing NewsCred
Saturday, September 17, 2011
![Page 30: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/30.jpg)
View Rendering NewsCred
• Haml templates• Haml
• Jade
• Embedded JavaScript (EJS) templates
• Coffeekup templates• Uses CoffeeScript
• jQuery templates
Saturday, September 17, 2011
![Page 31: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/31.jpg)
Views with Jade NewsCred
Saturday, September 17, 2011
![Page 32: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/32.jpg)
Sessions NewsCred
• Currently cookie-based• Data store can be Redis, memory etc.
Saturday, September 17, 2011
![Page 33: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/33.jpg)
Packages NewsCred
$ npm install -d # for installing dependancies
Saturday, September 17, 2011
![Page 34: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/34.jpg)
Resources NewsCred
• NodeJS• http://nodejs.org
• http://github.com/dynamicguy/node-mongo-cms
• ExpressJS• http://expressjs.com
• Sencha Connect• http://github.com/senchalabs/connect/wiki
Saturday, September 17, 2011
![Page 35: JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka](https://reader033.fdocuments.in/reader033/viewer/2022052522/54c856014a7959bf1e8b45b1/html5/thumbnails/35.jpg)
Questions? NewsCred
Iraj [email protected], @irajislam
Nurul [email protected], @ferdous
Saturday, September 17, 2011