Download - 20130228 wwruhr 4_realtime_webmitnodejs
Realtime Webmit Node.js
#WWRuhrby @DerMambo
visit: www.techpott.de
Freitag, 8. März 13
Node.js„Node.js is a set of libraries for JavaScript that allows it to run outside the browser. It is primarily focused on
creating simple, easy to build network clients and servers.“
„Javascript auf dem Server“
oder ...
„so ein Unsinn“
oder ...
Freitag, 8. März 13
2. meist betrachtete Repository auf Git Hub
Freitag, 8. März 13
Only a toy?• LinkedIn für Mobile Web App
• Voxxer für Push to Talk mobile App
• Microsoft als Core Contributor - bietet auch Cloud-Hosting auf Windows Azure
• Trello für Web App
• Walmart für Mobile Site
• uvm ... (https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node)
NO !Freitag, 8. März 13
Ein einfacher Server mit Node.js
Freitag, 8. März 13
Freitag, 8. März 13
Non Blocking I/ODer Event-Loop
Freitag, 8. März 13
Client A will viele Daten
Hole Daten
CB
Single Node Prozess
Client B möchte 2 + 2 berechnen
2+2 =4do nothing do nothing CB
Client A
Freitag, 8. März 13
Node.js Vorteile
• Node.js bedient hunderte gleichzeitige Verbindungen schnell und zuverlässig
• Sehr gut skallierbar
• Nur eine Sprache auf Client und Server
Freitag, 8. März 13
Freitag, 8. März 13
Realtime mit Socket.io
Freitag, 8. März 13
Modules für jeden BedarfFreitag, 8. März 13
Was wir benutzen
• Express als meist genutztes Framework
• Vereinfacht nur die wesentlichen Dinge
• Request routing, content negotiation, view templating und partials, session support, static file serving
• Socket.io für Websockets mit diversen Fallbacks
Freitag, 8. März 13
Socket.io
• Unified API for Web Sockets
• Creates fallbacks
Freitag, 8. März 13
Jetzt aber Realtime mit Socket.io
[https://github.com/DerMambo/wwruhr-clicker]
Freitag, 8. März 13
Die Zukunft der Webentwicklung?
• Full-Stack Javascript Frameworks
• Meteor.js
• Derby.js
• Mojito.js von Yahoo
• Sails.js ... und bald sicher noch mehr
Freitag, 8. März 13
Danke!@DerMambo für mehr Realtime
Freitag, 8. März 13
SONSTIGES
Freitag, 8. März 13
Die Zukunft der Web-Entwicklung?
•Meteor.js
•Derby.js
•Mojito.js von Yahoo
•Sails.js und es werden noch einige folgen
Freitag, 8. März 13
• Ryan Dahl started node project 16. Feb 2009
• Isaac Schlueter starts npm package manager
Freitag, 8. März 13
• Callback - Hell - Vermeidung
• Asynch
• Smaller functions
• allways (err, result){ ... }
Freitag, 8. März 13