34
Introduction To Prepared By Jiban [email protected]

Introduction to node.js by jiban

Embed Size (px)

DESCRIPTION

Its a presentation about node.js. Here I have covered the basic things of node.js. Like what is node.js how it can be used. and explanation about some node.js frameworks

Citation preview

Page 1: Introduction to node.js by jiban

Introduction To

Prepared ByJiban

[email protected]

Page 2: Introduction to node.js by jiban

Plan

• What is Node.JS• Event Driven• Blocking Vs. No Blocking• What can I do in node• Install node.js• A simple node.js example• Create a web Server using Node.js• Some node.js frameworks• A demo with express.js• Who Uses node.js

Page 3: Introduction to node.js by jiban

What is Node?

• JavaScript based software system• Event driven• Non- blocking• Launched in 2009• Founded by Ryan Dahl

Page 4: Introduction to node.js by jiban

I/O Event-loop based server

• A tale about bunnies, hamsters and Squids…

Page 5: Introduction to node.js by jiban

A hamster visiting your site

Single threaded bunny

(a happy bunny)

Your web server

Page 6: Introduction to node.js by jiban

Impatient hamsters

Single threaded bunny

Your web server

(a busy bunny!)

Page 7: Introduction to node.js by jiban

Multi-threaded bunny

Your web server

Fetching database (2s)

Consuming Service (3s)

Writing to a file (3s)

Page 8: Introduction to node.js by jiban

Event-loop based server

Hyperactive squid

Constantly check who is idle doing nothing or waiting

Page 9: Introduction to node.js by jiban

Node.js runs on the event loop

• The event loop keeps on running. Checking for new events, so it can call callbacks for those events.

Page 10: Introduction to node.js by jiban

Blocking vs. Non-Blocking

Doctor’s Surgery vs. Fast-food Outlet

Page 11: Introduction to node.js by jiban

Doctor’s Surgery(Blocking Process)

Page 12: Introduction to node.js by jiban

Fast-food Outlet (Non-blocking Process)

Page 13: Introduction to node.js by jiban

Non-Blocking? Blocking? I’m so confused

• By introducing callbacks. Node can move on to other requests and whenever the callback is called, node will process is.

• You should read non-blocking code as « put function and params in queue and fire callback when you reach the end of the queue »

• Blocking= return Non-Blocking= no return. Only callbacks

Page 14: Introduction to node.js by jiban

Well, That’s Node.js

Page 15: Introduction to node.js by jiban

What Can I Do in Node?

• Anything you want!• Chat servers, Analytics & Crazy fast backends• Socket.io library is a wicked way to build real

time apps• Build a social Network! LinkedIn, Dropbox all

using Node.js

Page 16: Introduction to node.js by jiban

Using Modules

• In node.js require(‘ ’) is using a lot.• Require is basically a way to import modules

to your application. Modules are basically classes.

• They are a module of code that contain functions which have been exported.

• Exported functions are basically public.

Page 17: Introduction to node.js by jiban

Install node.js

• Go to the NodeJS home page• Click install to download the .msi installer

package• Run it and follow the instrucitons, you now

have NPM (node package manager) and Node.js installed

• Reset your computer to get everything working in your command-line interface (CLI)

Page 18: Introduction to node.js by jiban

A simple node.js applicationvar http = require("http");

var server = http.createServer();server.listen(8888);

function say(word) { console.log(word);}

function execute(someFunction, value) { someFunction(value);}

execute(say, "Beautiful Bangladesh");

Page 19: Introduction to node.js by jiban

Creating a web server with

node.js

var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type':

'text/plain'}); res.end('Hello World\n'); }).listen(1337, "127.0.0.1"); console.log('Server running at

http://127.0.0.1:1337/');

Page 20: Introduction to node.js by jiban
Page 21: Introduction to node.js by jiban

Node.js Frameworks

Node.js is one of the most popular javascript framework that allow to build scalable network web applications. Node.js contains a different kind of frameworks such as MVC framework, full-stack framework, REST API and generators, lots of libraries as server library that making it possible to sun a web server without use of external software such as Apache and Lighttpd. These frameworks makes it more user-friendly and easy to use, also supports a large number of features and functionality to develop huge web applications in just follow few steps.

Page 22: Introduction to node.js by jiban

Sails.js

Sails is one of the excellent framework that make it easy to develop custom, enterprise-grade and modern Node.js apps, also it’s good for building charts, dashboards and multiple games.

Page 23: Introduction to node.js by jiban

Total.js

Total.js is another great framework for Node.js helps to create web pages and web applications, also supports MVC architecture. This is the open source modern framework for building websites using HTML, javaScript and CSS.

Page 24: Introduction to node.js by jiban

Partial.js

Partial js, framework for Node.js, Using HTML, CSS and JavaScript developers can build large scale of web applications and websites. Features and architecture are same as total.js.

Page 25: Introduction to node.js by jiban

Koa.js

This framework for Node.js is designed by team of Express. Koa.js is next generation tool, which aims to be a smaller, more expressive, and more robust foundation for web applications and APIs.

Page 26: Introduction to node.js by jiban

Locomotive.js

Locomotive supports MVC pattern, RESTful routes also builds on Express. This is one of the most powerful web framework for Node.js, present great features : -1) convention over configuration2) Routing Helpers3) MVC Architecture4) connect to any Database and more.

Page 27: Introduction to node.js by jiban

Express.js

Most Popular web framework for Node.js over the internet and among web developers. Using robust set of features developers can create single and multi-page, and hybrid web applications.

Page 28: Introduction to node.js by jiban

Flatiron.js

Flatiron.js is also a modern and next generation web framework for developers that helps to building impressive and huge web application with its advance features.

Page 29: Introduction to node.js by jiban

Express.io

Express.io is realtime web framework for Node.js. And also supports MVC architecture for create web applications.

Page 30: Introduction to node.js by jiban

Socket Stream

Socket stream is dedicated to building real time single page applications with its fast and modular nature.

Page 31: Introduction to node.js by jiban

Geddy.js

Geddy.js is simple, structured and original MVC web framework for Node.js for building advance web application.

Page 32: Introduction to node.js by jiban

Demo

Create An Application Using

Express.js

Page 33: Introduction to node.js by jiban

Companies using node

https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node

Page 34: Introduction to node.js by jiban

Thank you

[email protected]