Node.js Einführung Manuel Hart

Ähnliche Dokumente
Frontend-Entwicklung mit JavaScript

Inhaltsverzeichnis. Teil 1 Node.js... 1

Übung 1: Von einer naiven JavaScript Applikation zu einem modernen Front-End Build:

Open Source. Hendrik Ebbers 2015

Systemanforderungen Verlage & Akzidenzdruck

1 von :55

Lokale Installation von DotNetNuke 4 ohne IIS

:HE'DWHQEDQN$QELQGXQJ PLW-DYD6HUYOHWVEDVLHUHQG DXI$SDFKH-6HUY2UDFOHL

TimeMachine. Installation und Konfiguration. Version 1.4. Stand Dokument: install.odt. Berger EDV Service Tulbeckstr.

Bitte beachten Sie die folgenden Systemvoraussetzungen um DocuWare installieren zu können:

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes


Systemanforderungen Verlage & Akzidenzdruck

1 von :10


Multimediale Web-Anwendungen. JavaScript. Einführung. MWA JavaScript-Einführung Dr. E. Schön Sommersemester 2015 Folie 1.

Systemanforderungen Verlage & Akzidenzdruck

Systemanforderungen Verlage & Akzidenzdruck

Die perfekte Online-Hilfe auf Basis von HTML5 und Open-Source- Komponenten. Jochen Marczinzik , tekom Führjahrstagung

Die Cargo Plattform bietet einen sicheren und einfachen Datentransfer mit einem modernen Web- Interface.

EPO Consulting GmbH. Ihr Partner für HTML5 und SAP UI5 Apps. Stand 2015/04. EPO Consulting GmbH - 1 -

Installation des GeoShop Redirector für Apache (Stand ) ================================================================

Composer für Contao Entwickler

Websockets: Leichtgewichtige Verbindungen für Web-Applikationen

Einführung in die Cross-Plattform Entwicklung Das Intel XDK

1 von :44

Destructive AJAX. Stefan Proksch Christoph Kirchmayr

Version 4.4. security.manager. Systemvoraussetzungen

Apollo Überblick. Klaus Kurz. Manager Business Development Adobe Systems Incorporated. All Rights Reserved.

XPages Good to know. Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015

Einleitung. Funktion. Panzenböck Phillipp. Download Installation. Testen. Konfiguration

Anlegen von Entwicklungsumgebungen per Vagrant & Chef

Web Sockets mit HTML5. Quelle:

Konzept eines Datenbankprototypen Folie 1 Daniel Gander / Gerhard Schrotter

drupal + nodejs erste - fl@flink-solutions.de

André Maurer Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

Literatur und Links. Webtechnologien WS 2015/16 Teil 1/Entwicklung

Crashkurs http - CGI/Servlets(JSF) - Viewer

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

Installationsanleitung für. SugarCRM Open Source. Windows Einzelplatz

Smartphone Entwicklung mit Android und Java

New Features Oracle Forms 11g Nichts Neu für Forms?

Pylons & ExtJS. PyCologne Vortrag Köln, smart:elligence Unternehmensberatung, Düsseldorf

Mobile Backend in der

Aufgabe 2.2. Folgende Schritte sollen durchgeführt werden:

Anwendungsfall: Gerichtstermin

Literatur und Links. Webtechnologien SS 2015 Teil 1/Entwicklung

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen

Managed VPSv3 Was ist neu?

Forschungsseminar Web VSR Betreuer Michael Krug

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

Web Application Engineering & Content Management Übungsteil zu VU 2.0

INNOTask, INNOCount, INNORent, INNOSpace, INNOCar Installationsanforderungen

eridea AG Installation Eclipse V 1.4

Statistik für (2009)

Dokumentation für das Web-basierte Abkürzungsverzeichnis (Oracle mod_plsql / Apache)

Code-Organisation in JavaScript

Powershell DSC Oliver Ryf

egenix PyRun Python Runtime in einer einzigen 12MB Datei FrOSCon 2012 Sankt Augustin Marc-André Lemburg EGENIX.COM Software GmbH Langenfeld, Germany

Die in diesem Dokument aufgelisteten Anforderungen an das Betriebssystem schließen die aktuellen Patches und Servivepacks ein.

eridea AG Installation Eclipse V 1.1

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten,

Anleitung zur Webservice Entwicklung unter Eclipse

IT Engineering Continuous Delivery. Development Tool Chain Virtualisierung, Packer, Vagrant und Puppet. Alexander Pacnik Karlsruhe,

Apparo Fast Edit Datenmanagement mit der Standalone Version Technische Übersicht

Netzwerk Technologien in LabVIEW

Java zur Realisierung von Internetanwendungen

Installation Anleitung für JTheseus und MS SQL Server 2000

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Internet-basierendes Autorensystem zur Erschließung historischen Kulturguts. Thorsten Ludewig. Juni 2004

Rich Internet Applications, Flex & Mate. (Ja, das ist Grafische Benutzeroberflächen!) Jakob Külzer jakob.kuelzer@gmail.

Web und Mobile Apps Programmieren mit Dart

Debugging in Magento

Katello / Pulp / Candlepin

SaaS-Referenzarchitektur. iico-2013-berlin

Hier folgt eine kurze Aufstellung über die verwendete Architekur. Die Angaben sind ohne Gewähr für Vollständigkeit oder vollständige Richtigkeit.

Browserbasiertes, kollaboratives Whiteboard

HERZLICH WILLKOMMEN SHAREPOINT 2013 DEEP DIVE - APPS IOZ AG 1

Herzlich willkommen im Modul Web-Engineering

OS IDE Webserver Integration des Webservers in die IDE Wireshark Webserver II Dynamisches Webprojekt in Eclipse

Installation SuperWebMailer

Enterprise Application Integration Erfahrungen aus der Praxis

Dynamische Webseiten mit PHP 1

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht.

Web 2.0 Architekturen und Frameworks

FileMaker Go 13 ohne Connects

Microsoft Azure für Java Entwickler

INDEX. Netzwerk Überblick. Benötigte Komponenten für: Windows Server Windows Server 2008 R2. Windows Server 2012

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Inhalt. Teil I: Der Sprachkern von JavaScript

Contentmanagement Übung

PHP Kurs Online Kurs Analysten Programmierer Web PHP

AJAX Implementierung mit Joomla!

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK

Universität Leipzig - Softwaretechnik Praktikum 2014/2015 Installationsanleitung zum Projekt: Ein kartenbasiertes Multiplayer -Spiel

Webinar: Einführung in ICEfaces

OracleMaps mit Microsoft ASP.NET nutzen

SHAREPOINT NEXT GENERATION EIN AUSBLICK

Grundlagen der Web-Entwicklung

Softwareentwicklung in der industriellen Praxis

Transkript:

Node.js Einführung Manuel Hart Seite 1

Inhalt 1. Node.js - Grundlagen 2. Serverseitiges JavaScript 3. Express.js 4. Websockets 5. Kleines Projekt Seite 2

1. Node.js Grundlagen Node.js is a JavaScript runtime [environment] built on Chrome's V8 JavaScript engine. [nodejs.org] Also eine Software die JavaScript Code Verstehen und Ausführen kann. Seite 3

Orientierung Source: F.J.Behr Seite 4

1. Node.js Grundlagen Lizenz Node.js ist Open Source und unter der MIT-Lizenz (Massachusetts Institute of Technology) lizensiert. (https://raw.githubusercontent.com/nodejs/node/master/license) https://github.com/nodejs/node https://nodejs.org Seite 5

1. Node.js Grundlagen Historisches Dez. 2014 Sep. 2015 io.js 3.3 Dez. 2016 Mai 2009 Ryan Dahl sponsored by Joyent Node.js 0.12 4.0 7.1 LTS 6.9.1 Seite 6

1. Node.js Grundlagen JavaScript Node.js Einführung Manuel Hart JavaScript ist eine objektorientierte Skriptsprache die von allen modernen Web-Browsern verstanden und ausgeführt werden kann. Standardisierter Sprachkern: ECMAScript JavaScript Engine (Im Browser eingebaut) Bytecode Seite 7

1. Node.js Grundlagen JavaScript HTML DOM Element <div id="demo"></div> <script> var demo = document.getelementbyid("demo"); </script> javascript Get the DOM Element Seite 8

1. Node.js Grundlagen ECMAScript Standardisiert als ECMA-262 und ISO-IEC 16262 Ist der Sprachkern von JavaScript. ECMAScript First edition 1997.. ECMAScript4 Abandoned ECMAScript 5 2009 ECMAScript 6 2015 Implementation ECMAScript edition V8 (Google Chrome, Node.js) 6 JavaScriptCore (Nitro) Safari 6 Jscript (InternetExplorer) 5.1 ECMAScript 7 Juni 2016 Seite 9

1. Node.js Grundlagen JavaScript JavaScript ermöglicht Ereignis basierte Programmierung. functionsaufruf(wert1, 'wert2', function(data){ }); /*do something with the data.*/ var t2 = 'Ich bin alssynchron naechstes dran. [t2]'; console.log(t2); var t1 = 'Ich bin als naechstes asynchron dran. [t1]'; console.log(t1); Seite 10

1. Node.js Grundlagen Vergleich mit php PHP Typisches Client-Server Modell Routing wird vom Webserver gesteuert Blockierend Sehr weit verbreitet Node.js Sockets, HTTP, Routing wird von der Node Anwendung gesteuert Nicht Blockierend 10 rounds competition https://www.sitepoint.com/sitepoint-smackdown-php-vsnode-js/ Seite 11

1. Node.js Grundlagen Installation 1. Download von https://nodejs.org/en/download/ Windows Installer Macintosh Installer Linux Binaries (x86/x64 & ARM) 2. Installieren 3. (PATH Variable setzen) Seite 12

1. Node.js Grundlagen Build-in Module node.js ist ideal für Netzwerkanwendungen. Integrierte Module für: File System HTTP(S) OS Path URL Seite 13

1. Node.js Grundlagen npm Weitere externe Module können über npm (node package manager) geladen werden. (Artistic License 2.0) npm install packagename -save ~ 250.000 open source packages --g installiert Global Seite 14

1. Node.js Grundlagen npm package.json Enthält Informationen über das node.js Programm und die erforderlichen Abhängigkeiten. Seite 15

1. Node.js Grundlagen Erweiterungen Express.js / Socket.io moment.js bower jsdoc nodemon Yeoman proj4js Seite 16

2. Serverseitiges JavaScript Übersicht Einfachste Node.js Anwendung Was wollen wir eigentlich? Node.js Server Anwendung Debugging Seite 17

2. Serverseitiges JavaScript Starten des Servers Node.js wird über die Kommandozeile ausgeführt. 1. Schritt Prüfen ob Node.js korrekt installiert wurden. node -v 2. Schritt Prüfen ob npm korrekt installiert wurden. npm -v Seite 18

2. Serverseitiges JavaScript Die erste Applikation Erste Node.js Applikation erstellen. //Dies ist unsere erste Applikation (Programm) console.log('running'); Speichern als app.js. Seite 19

2. Serverseitiges JavaScript Die erste Applikation Erste Node.js Applikation starten. node app.js Kommandozeile: start ausgeführt stop Seite 20

2. Serverseitiges JavaScript Was wollen wir eigentlich? Daten bereitstellen Website bereitstellen Dienste(Services) bereitstellen Web-Applikation bereitstellen Anwendungsfall Software (Beispiel) Daten bereitstellen Apache (\htdocs) / php (Datenbank) Website bereitstellen Dienste(Services) bereitstellen Apache (\htdocs) Tomcat Java Servlet / php Seite 21

2. Serverseitiges JavaScript Server Erreichbarkeit Client Client Client Network, Cloud IP-Adresse:Port Server Seite 22

2. Serverseitiges JavaScript Ein Server der weiterläuft. Server soll auf Anfragen reagieren können. JavaScript Ereignis gesteuert. server.listen(3001, function(){ console.log("server listening on: http://localhost: + port); }); Seite 23

2. Serverseitiges JavaScript Erste Server-Applikation Server-Port Request Funktion Create Server Start Server Seite 24

2. Serverseitiges JavaScript Zugriff auf Server Web-Browser: http://localhost:3001/hallo Ausgabe (Browser): Request URL: http://localhost:3001/hallo Seite 25

2. Serverseitiges JavaScript Request auf Clientseite Web-Browser Debugging(F12): Seite 26

2. Serverseitiges JavaScript Debugging Fehler im Code finden und beheben. Seite 27

2. Serverseitiges JavaScript Debugging node debug app.js next cont debugger; help Seite 28

2. Serverseitiges JavaScript Debugging node -inspect app.js Seite 29

2. Serverseitiges JavaScript Erweiterungen var server = require('server'); server.start(3001, function(request, response){ }); Seite 30

3. Express.js Das Framework - Übersicht Schnelles, offenes, unkompliziertes Web-Framework für Node.js http://expressjs.com/de/ (MIT Lizenz) 1. Einfacher Server 2. HTTP Methods 3. Router 4. Middlewares 5. Statische Daten und Ordner Seite 31

3. Express.js Nachfolger? Seite 32

3. Express.js Einfacher Server Seite 33

3. Express.js HTTP Methods 2. HTTP GET und POST + Routing HTTP-GET HTTP-POST Seite 34

3. Express.js Router Router Objekte URL Einstellung Route1/ Route2/ Route2/Anfrage Seite 35

3. Express.js Middlewares Middleware Für / Middleware Für Alle GET Request Seite 36

3. Express.js Statische Daten Um komplette Verzeichnisse bereitzustellen. Seite 37

4. Websockets Bi-direktionale Web-Verbindung Der Server kann dem Client Nachrichten senden sobald eine Socket-Verbindung besteht. Framework: Socket.io Seite 38

4. Websockets socket.io Web-Socket Framework (MIT Lizenz) Bestehend aus eine Server Komponente und einer Client Komponente. Seite 39

4. Websockets socket.io - Beispiel Auf Server Seite Seite 40

4. Websockets socket.io - Beispiel Auf Client Seite Seite 41

5. Kleines Projekt Seite 42