8
Einführung von Benjamin-Timm Broich

node.js Einführung

Embed Size (px)

DESCRIPTION

Eine kurze node.js Einführung. Gehalten von Benjamin-Timm Broich beim 1. node.js Meetup Darmstadt.

Citation preview

Page 1: node.js Einführung

Einführung von Benjamin-Timm Broich

Page 2: node.js Einführung

Quelle: http://www.quickmeme.com/meme/3paip6

Page 3: node.js Einführung

• 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

Page 4: node.js Einführung

• Core-Engine (V8, libev, libeio)

• Core-Modules / APIs (HTTP, net, …)

• Community-Created Modules, 3rd Party Modules

• z.B. mongoose als ORM

Bestehend aus…

Page 5: node.js Einführung

• 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

Page 6: node.js Einführung

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)

Page 7: node.js Einführung

Wozu das Ganze?• Webanwendungen

• Netzwerk Server (HTTP, Messaging, …)

• API Backends

• Real Time Anwendungen

• AdServer

• Streaming

• Bots / Crawler / …

Page 8: node.js Einführung

Danke!

Hintergrund der Präsentation von http://nodejs.org/logos/