Date post: | 22-Jun-2015 |
Category: |
Technology |
Upload: | benjamin-timm-broich |
View: | 94 times |
Download: | 0 times |
Einführung von Benjamin-Timm Broich
• 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 / …