Upload
benjamin-timm-broich
View
95
Download
0
Embed Size (px)
DESCRIPTION
Eine kurze node.js Einführung. Gehalten von Benjamin-Timm Broich beim 1. node.js Meetup Darmstadt.
Citation preview
Einführung von Benjamin-Timm Broich
Quelle: http://www.quickmeme.com/meme/3paip6
• Core entwickelt mit C/C++
• Google V8 Engine
• libev (Event-Loop)http://software.schmorp.de/pkg/libev.html
• libeio (Event-based asynchronous I/O Library für C) http://software.schmorp.de/pkg/libeio.html
• “Restlicher” Code in JavaScript
Hinter den Kulissen
• Core-Engine (V8, libev, libeio)
• Core-Modules / APIs (HTTP, net, …)
• Community-Created Modules, 3rd Party Modules
• z.B. mongoose als ORM
Bestehend aus…
• Event-driven, non blocking I/O model
• Event-Loops
• Callbacks auf I/O Requests
• Alles in node.js läuft in einem Single-Thread
• Aufbau von schnellen und skalierbaren Netzwerkanwendungen
• Fokus liegt auf Performance
• Tausende, gleichzeitige Verbindungen meistens kein Problem
• Minimaler Overhead (CPU / Speicher)
• Lauffähig unter Mac, Linux, … Windows ;-)
• Aktive Community
Information Overload zu node.js
NPMNode Package Manager
• Online Repository für node.js Projekte-> https://www.npmjs.org/
• Command-Line-Utility für
• Paketinstallation
• Version Management
• Dependency Management
• Aktuell 91.561 Pakete (Stand 29. August 2014)
Wozu das Ganze?• Webanwendungen
• Netzwerk Server (HTTP, Messaging, …)
• API Backends
• Real Time Anwendungen
• AdServer
• Streaming
• Bots / Crawler / …