Mit der Nutzung unserer Webseite erklären Sie sich mit den Nutzungsbedingungen einverstanden. SNEWMEDIA , benutzt Cookies. Informationen zu den verwendeten Cookies und weitere datenschutzrechtliche Hinweise finden Sie in unserer Datenschutzerklärung.

SNEWMEDIA

NODE.JS GRUNDLAGEN SCHULUNG

NODE.JS Grundlagen / Bedeutung

Node.js ist in 2017 eine der beliebtesten Varianten für die serverseitige Programmierung von JavaScript gewesen.

Node.js ermöglicht es, nicht-blockierende Webservices zu programmieren und hierbei mit JavaScript alle Anfragen von Clients direkt annehmen, verarbeiten und beantworten zu können. Diese Technik ließe sich vom Prinzip her auch mit anderen Programmiersprachen bewirken, doch im Falle von Node.js kann der Entwickler browserseits und serverseits in der selben Sprache programmieren: JavaScript.

  • Node.js fühlt sich wie JavaScript an und ist zumeist auch JavaScript: Entwickler können Client und Server sowie auch die Konfiguration von Modulen bis zur Automatisierung des von Code-Tests, Unit Tests, Komprimierung und vieles andere in JavaScript realisieren oder entsprechende JavaScript Module und wiederum deren JavaScript Plugins nutzen.

  • Node.js nutzt die V8 JavaScript Engine von Google und hat damit einen der schnellsten JavaScript JIT Compiler.

Node.js ist im Bereich von JavaScript "außerhalb des Browsers" schon lange nicht mehr allein auf dem Markt, aber Entwicklungen rund um Node.js setzen konsequent auf JavaScript. Im Gegensatz zur Ausführung von JavaScript innerhalb von JAVA (möglich seit JAVA8, 12/2015), wo JavaScript gemeinsam mit JAVA programmiert werden kann und damit JavaScript Methoden von JAVA-Objekten aufrufen kann und umgekehrt, ist Node.js darauf ausgelegt, dass jede benötigte Funktionalität wie beispielsweise schon ein lesender oder schreibender Dateizugriff über JavaScript-Befehle von Node.js möglich sind, während im Falle von JAVA8 und JavaScript, auch als JJS bekannt, die Programmierung des eigentlichen Dateizugriffs über Java erfolgt.

Fazit

Auch Node.js began in 2009 die ersten 5 Jahre als Ein-Mann-Projekt, aber das war einst mit PHP nicht anders. Node.js hat längst die Marktreife für Enterprise JavaScript Entwicklungen gewonnen und ist unserer Meinung inbesondere für PHP/Apache bzw. den LAMP-Stack, auf welchem gem. Geschätzungen in 2015 angeblich 80% aller Open-Source-CMS basierten Webseiten betrieben wurden, eine interessante Alternative, da Node.js spätstens mit Express als npm Modul einen vollständigen Webserver darstellt, der konsequent mit JavaScript zur Laufzeit konfiguriert werden kann.

NODE.JS Grundlagen Themenüberblick

NODE.JS Grundlagen Themenüberblick

Einordnung, Historie und Bedeutung

  • Was ist Node.js? Historie von Node.js. Finanzierung und Rechteinhaber des Projekts. Die zwischenzeitliche Abspaltung der Community von Node.js mit dem Spin-Off io.js.

  • Primäre Vor- und Nachteile von Node.js in der Entwicklung von Programmen mit HTML5/CSS/JS Browser- oder App-Client im Vergleich zu LAMP Stacks mit PHP. Grundlegende Unterschiede zwischen Apache/PHP und Node.js/JavaScript.

  • Vergleich von JavaScript Runtime Environments wie Google V8 (Grundlage von Node.js), Nashorn (JAVA8 JS Engine für Java JavaScript JJS) sowie PhantomJS, mit dessen Hilfe ein Webbrowser mit DOM, Canvas, SVG Unterstützung und dessen Nutzung (Klicken, MouseOver etc.) bis zum Screenshot simuliert werden kann.

  • Das Prinzip und die Zielsetzung client- und serverseitiger Programmierung mit JavaScript ("Full Stack JavaScript", Webservices, WebApps, Apps) im Vergleich zu client- und serverseitiger Programmierung mit JAVA und C# (.NET mit Xamarin, Webservices, WebApps, Apps).

  • Node.js im Vergleich mit Java+JavaScript (JJS) welches mit JAVA8 seit 12/2015 Bestandteil von JAVA ist und ermöglicht, dass innerhalb eines Java Programms eine JavaScript Engine als Objekt instanziert werden kann, in welcher JavaScript innerhalb von JAVA läuft, auf Objekte und Klassenmethoden von JAVA zugreifen kann und damit JavaScript mit Programmierung von Wrappern in bestehende JAVA Programme integriert werden kann.

  • Relationale Datenbanken oder NoSQL-Datenbanken: Welche Bedeutung haben Datenbank-Systeme wie MongoDB in der Entwicklung mit JavaScript?

Erste Schritte

  • Node.js beschaffen, installieren und sich freuen, wie schnell man seinen eigenen, nicht blockierenden HTTP/TCP-basierten Webservice programmieren kann, welcher zeitlich parallel die Daten mehrerer Browser-Anwender im Arbeitsspeicher vorhält und in regelmäßigen zeitlichen Abständen die Daten auf die Festplatte schreibt.

  • Mapping von HTTP Requests für URLs/URIs auf eigene Skripte und RequestHandler.

  • Grundlagen von HTTP, POST, GET. Austausch von Formulardaten zwischen HTML5/CSS Browser-Clients mit Node.js. Kommunikation zwischen Client und Server basierend auf in JSON serialisierten Objekten.

  • Problematik einer asynchronen Synchroniserung des Datenmodells zwischen Persistenz (z. B. Datei mit serialisierter Datenstruktur), Server (Arbeitspeicher) und mehreren Clients (Browser).

Module und Paketverwaltung

  • Der Node Package Manager npm. Bestehende npm Module laden, installieren und ein Programmen einsetzen.

  • Prinzip objektorientierter Software-Entwicklung und Namespaces mit JavaScript mit Node.js sowie JavaScript im Browser. Unterschied zwischen Prototype-basierten Objektorientierung von JavaScript ECMAScript 5 und typischer Klassen-orientierter Objektorientierung, wie man diese aus JAVA oder C# kennt, sowie Überblick über Klassen-basierte Objektorientierung mit JavaScript ECMAScript 6, auch "JavaScript 2015" genannt.

  • Planung und Programmierung eigener Module.

Typische Entwurfsmuster für Services

  • Prozedurale, Single-Thread-orientierte, Skriptabläufe welche bei einem Http Request über einen Handler gestartet werden und damit sinngemäß dem Prinzip herkömmlicher PHP Skripte (PHP/Apache) entsprächen.

  • Event Driven: Prozesse auf dem Server über HTTP Request Handler starten und über Callbacks und EventEmitter planen und programmieren.

  • Das Prinzip eines Prisma für Gameserver: Command Queue, Prioritisierung und Zeitimpulse, Evaluate- und Execute-Phasen mit Bereitstellung von Changes am Datenmodell zur Synchronisierung von Datenmodellen in Clients.

Entwicklung von JS und Node.js in Projektgruppen

  • Automatisierung mit Grunt. Grunt Installation, Grunt Konfiguration, Grunt Tasks, Grunt Plugins.

  • Prinzip von Test Driven Development mit Beispiel einer Automatisierung von Unit Tests mit Grunt und QUnit.

  • Automatisierung der Dateiorganisation für neue Server- und Client-Releases (Build and Deployment), Syntax-Prüfung, Fehlervermeidung, Code-Komprimierung bis Code-Verschleierung mit weiteren Grunt Plugins.

  • Dependency Management zur Auflösung von Abhängigkeiten von Modulen und deren Versionen mit Grunt.

  • Integration von Software über Git.

Beliebte Module und Software

  • Express: Mit ExpressJS eigene Node.js Anwendungen um die Funktionalität gewohnter Webserver aufwerten.

  • MongoDB Node.js an die schemalose NoSQL Datenbank MongoDB anbinden.

NODE.JS Grundlagen Zielgruppen

NODE.JS Grundlagen Zielgruppen.

Diese Schulung versteht sich als Aufbauschulung oder Zusatzschulung für die vorausgehenden Grundlagen in HTML5/CSS sowie JavaScript Grundlagen.

Wir setzen deshalb an dieser Stelle für diese Node.js Schulung Kenntnisse in HTML5, CSS und JavaScript voraus. Da wir allerdings bei einer direkten Buchung von IT-Schulungsteilnehmern oftmals nur ein oder zwei Teilnehmer haben, empfehlen wir Ihnen im Falle fehlender Vorkenntnisse die Anfrage einer Einzelschulung: Wir können Ihnen dann nämlich die für NodeJS erforderlichen Grundlagen in HTML5, CSS und JavaScript in Kombination vermitteln, was Ihnen, wenn es prinzipiell eher um Node.js geht, das Buchen und Warten auf die Vorausgehenden Schulungen sparen könnte.

Wir können Ihre Kenntnisse rund um HTML5, CSS und JS ergänzend mit SVG (XML basiertes Vektorgrafik Format, W3C Standard, grundlegende Befehle von 100% der Browser unterstützt), die Schulung für jQuery und mitunter Einführungen in die Grundlagen auch von Bootstrap und WebGL abrunden.

NODE.JS Grundlagen Termine

NODE.JS Grundlagen Termine

Wir haben uns bei Node.js Grundlagen darauf eingerichtet, Einzelschulungen oder Kleinstgruppen-Schulungen auf Anfrage mit individuellen Terminen und Schulungsstandorten durchzuführen.

Menu

Zum Verzweigen zu einer Seite tippen Sie mit dem Finger oder Ihrem Mauszeiger auf die entsprechende Sektion. In der vergrößerten Ansicht (Zoom) können Sie über die Schaltfläche "OPEN" die entsprechende Seite laden.