Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Node.js Introduction
Search
Brandon Keepers
PRO
March 26, 2012
Programming
34
1.6k
Node.js Introduction
A brief introduction to Node.js given at the
Grand Rapids Web Development Group
.
Brandon Keepers
PRO
March 26, 2012
Tweet
Share
More Decks by Brandon Keepers
See All by Brandon Keepers
Automating Software Development
bkeepers
PRO
3
470
Building the GitHub workspace app
bkeepers
PRO
1
350
Contributing to Your Career
bkeepers
PRO
4
710
A Maturity Model for Embracing Open Source Software
bkeepers
PRO
3
910
Open Source Principles for Internal Engineering Teams
bkeepers
PRO
8
1.3k
Carbon, Automobiles, Bebop & Fashion
bkeepers
PRO
1
520
Tending Your Open Source Garden, v2
bkeepers
PRO
1
580
Tending Your Open Source Garden
bkeepers
PRO
2
960
The Loyal Renegade
bkeepers
PRO
3
860
Other Decks in Programming
See All in Programming
Strategic Design (DDD)for the Frontend @DDD Meetup Stuttgart
manfredsteyer
PRO
0
160
「理解」を重視したAI活用開発
fast_doctor
0
110
The Efficiency Paradox and How to Save Yourself and the World
hollycummins
0
110
[NG India] Event-Based State Management with NgRx SignalStore
markostanimirovic
1
160
Making TCPSocket.new "Happy"!
coe401_
1
1.5k
Kamal 2 – Get Out of the Cloud
aleksandrov
1
190
Unlock the Potential of Swift Code Generation
rockname
0
260
Fiber Scheduler vs. General-Purpose Parallel Client
hayaokimura
1
110
The Evolution of the CRuby Build System
kateinoigakukun
0
710
タイムゾーンの奥地は思ったよりも闇深いかもしれない
suguruooki
1
680
Code smarter, not harder - How AI Coding Tools Boost Your Productivity | Webinar 2025
danielsogl
0
140
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
77web
4
680
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
Become a Pro
speakerdeck
PRO
27
5.3k
GraphQLとの向き合い方2022年版
quramy
46
14k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
A better future with KSS
kneath
239
17k
Six Lessons from altMBA
skipperchong
27
3.7k
Navigating Team Friction
lara
184
15k
What's in a price? How to price your products and services
michaelherold
245
12k
Docker and Python
trallard
44
3.3k
Code Review Best Practice
trishagee
67
18k
Unsuck your backbone
ammeep
670
57k
Documentation Writing (for coders)
carmenintech
69
4.7k
Transcript
INTRODUCTION
Hi, I’m @bkeepers
None
nodejs.org Node.js is a platform built on Chrome's JavaScript runtime
for easily building fast, scalable network applications. Node.js uses an event-driven, non- blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
server side JavaScript
$ node webserver.js var http = require('http'), server = http.createServer();
server.on('request', function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }); server.listen(1337, "127.0.0.1"); console.log('Server running at http://127.0.0.1:1337/'); webserver.js
None
event loop modules package management
non-blocking evented I/O
event driven
event driven Button
event driven Button
event driven Button $('button').on('click', function(event) { alert('Event Driven!') });
event driven server.on('request', function(req, res) { res.write(handleRequest(req)) });
non-blocking
None
// blocking var files = fs.readdirSync('/tmp') for(var i = 0;
i < files.length; i++) { var file = files[i]; fs.unlinkSync('/tmp/' + file); console.log('successfully deleted ' + file); }
// blocking var files = fs.readdirSync('/tmp') for(var i = 0;
i < files.length; i++) { var file = files[i]; fs.unlinkSync('/tmp/' + file); console.log('successfully deleted ' + file); } // non-blocking fs.readdir('/tmp', function(err, files) { for(var i = 0; i < files.length; i++) { var file = files[i]; fs.unlink('/tmp/' + file, function (err) { if (err) throw err; console.log('successfully deleted ' + file); }); } });
CommonJS modules
JavaScript Pollutes
JavaScript Pollutes string = "pollution";
None
var http = require('http');
hello.js module.exports = function() { return 'Hello World' };
$ node myapp.js myapp.js var hello = require('./hello.js'); console.log(hello());
package management
npmjs.org
$ npm install <package>
package.json
package.json $ npm install { "name": "myapp", "version": "0.0.1", "dependencies":
{ "socket.io": "0.8.7", "coffee-script": "1.2.0", "spine": "~1.0.5" } }
building the simplest chat app in the world demo
references
http://nodejs.org/api/
None
thanks! @bkeepers