Embed
Email

JavaScript as a Server side language (NodeJS)

Document Sample
JavaScript as a Server side language (NodeJS)
Shared by: jewel.ahmed
Stats
views:
74
posted:
1/20/2012
language:
pages:
35
NodeJS

JS as a Server-side Language



Iraj Islam @irajislam

Nurul Ferdous @ferdous





NewsCred



Saturday, September 17, 2011

Agenda NewsCred









• Part 1. NodeJS



• Part 2. ExpressJS



• Questions?









Saturday, September 17, 2011

Who We Are NewsCred









Iraj Islam

CTO/Co-founder, NewsCred





Nurul Ferdous

Senior Software Engineer, NewsCred









Saturday, September 17, 2011

Part 1

NodeJS





NewsCred





Saturday, September 17, 2011

Server-side JS NewsCred









Saturday, September 17, 2011

What’s NodeJS? NewsCred









NodeJS

What’s this all about?









Saturday, September 17, 2011

What’s NodeJS? NewsCred









NodeJS

Evented I/O for V8 JavaScript.









Saturday, September 17, 2011

What’s NodeJS? NewsCred









Goal

“Provide an easy way to build scalable

network programs.”









Saturday, September 17, 2011

History NewsCred





The Evolution of the Web

From static pages to real time data.









Saturday, September 17, 2011

Why NodeJS? NewsCred





The Age of Big Data

Exabytes (1018) of data stored per year



1000







750





500





250

2006

2007

2008 0

2009

2010





Saturday, September 17, 2011

Why NodeJS? NewsCred





The Fast Food Analogy

Synchronous vs. Asynchronous









Saturday, September 17, 2011

Why NodeJS? NewsCred





The Apache Solution

Synchronous I/O

Application



File

User readFile(); System









getTweets(); Twitter

API









writeToDb(); MySQL





Saturday, September 17, 2011

Why NodeJS? NewsCred





The Apache Solution

Blocking I/O

Application



File

User readFile(); System





Waiting...



getTweets(); Twitter

API



Waiting...



writeToDb(); MySQL





Saturday, September 17, 2011

Why NodeJS? NewsCred





The NodeJS Solution

Asynchronous I/O

Application



File

User readFile(); System









getTweets(); Twitter

API









writeToDb(); MySQL





Saturday, September 17, 2011

Why NodeJS? NewsCred





The NodeJS Solution

Non-blocking I/O

Application



File

User readFile(); System









getTweets(); Twitter

API









writeToDb(); MySQL





Saturday, September 17, 2011

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

NodeJS Use Cases NewsCred









• Serving APIs



• Serving real-time apps



• Serving web apps



• Streaming data









Saturday, September 17, 2011

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

Who’s Using NodeJS? NewsCred









Saturday, September 17, 2011

Installing NodeJS NewsCred







• Installing on Unix









• Installing on Windows

• Run http://nodejs.org/dist/v0.5.6/node.exe







Saturday, September 17, 2011

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

Part 2

ExpressJS





NewsCred





Saturday, September 17, 2011

What’s ExpressJS? NewsCred









ExpressJS

High-performance NodeJS

web framework.









Saturday, September 17, 2011

Why ExpressJS? NewsCred









• Full blown feature set

• Routing

• View rendering/templating

• Sessions





• Good documentation

• Lots of examples





• Many extensions







Saturday, September 17, 2011

Installing ExpressJS NewsCred









Saturday, September 17, 2011

Directory Structure NewsCred









Saturday, September 17, 2011

Configuration NewsCred









Saturday, September 17, 2011

Application Settings NewsCred









Saturday, September 17, 2011

Routing NewsCred









Saturday, September 17, 2011

View Rendering NewsCred







• Haml templates

• Haml

• Jade





• Embedded JavaScript (EJS) templates



• Coffeekup templates

• Uses CoffeeScript





• jQuery templates



Saturday, September 17, 2011

Views with Jade NewsCred









Saturday, September 17, 2011

Sessions NewsCred





• Currently cookie-based

• Data store can be Redis, memory etc.









Saturday, September 17, 2011

Packages NewsCred









$ npm install -d # for installing dependancies



Saturday, September 17, 2011

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

Questions? NewsCred









Iraj Islam

iraj@newscred.com, @irajislam





Nurul Ferdous

nurul@newscred.com, @ferdous









Saturday, September 17, 2011


Related docs
Other docs by jewel.ahmed
Turbo boost your Web UI with JavaScript
Views: 52  |  Downloads: 0
JavaScript as a Server side language (NodeJS)
Views: 74  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!