JavaScript für Enterprise-Entwickler

Viele Entwickler, die von Haus aus in Java, C# oder etwas Ähnlichem programmieren, müssen sich heutzutage mit auch mit Webtechnologien und vor allem mit JavaScript befassen.
Nach dem Quereinstieg fehlt es (wie auch bei Frontend-Entwicklern) oft an der Zeit, das eigene Wissen um JavaScript vom Kopf auf die Füsße zu stellen und die Details der Sprache von Grund auf zu lernen. Diese Schulung nimmt sich dieses Problems an und vermittelt JavaScript-Hintergrundwissen für erfahrene Entwickler – egal ob aus Frontend oder Backend.

Inhalte

1. JavaScript-Crashkurs für Fortgeschrittene: JavaScript ist die Programmiersprache für moderne Frontend-Apps, ist aber auch eine befremdlichsten Sprachen der Welt. Das Crashkurs-Modul macht erfahrene Software-Entwickler und Hobby-JS-Programmierer fit für ernsthaftes JavaScript, frischt wichtige Grundlagen auf und gibt Tipps für den Umgang mit typischen JS-Problemen.

2. Asynchrones JavaScript: Egal ob im Browser oder in NodeJS: JavaScript-Programmierer produzieren viel asychronen Code. Um zu verhindern, dass man in unübersichtliche Funktionsverschachtelungen gerät, braucht man auf asynchrone Umgebungen angepasste Programmiertechniken wie Promises, Functional Reactive Programmierung, und Generator Functions aus ECMAScript 6, dem JavaScript-Standard der Zukunft.

3. Fortgeschrittene Debugging-Techniken: JS-Code zu debuggen kann in komplexen Frontend-Applikationen eine sehr anspruchsvolle Angelegenheit werden. Nur mit der Kombination verschiedener Werkzeuge (moderne Browser-Devtools und unter anderem Source Maps) lässt sich das Problem in den Griff bekommen.

4. Modulsysteme für JavaScript: Ursprünglich hatte JavaScript kein Modulsystem, so dass man auch heute noch gezwungen ist, zu einer DIY-Lösung zu greifen. Für Frontend-Code heißt diese Lösung üblicherweise AMD (Asynchronous Module Definition), die mit verschiedenen Scriptloadern und Optimierungstechniken kombiniert werden kann. Weitere Techniken sind CommonJS auf dem Server (und mit dem entsprechenden Transpiler auch im Client) sowie ES6-Module, die mit entsprechenden Polyfills bereits heute benutzbar sind.

5. MVC-Frameworks im Vergleich: React? Backbone? AngularJS? Ember? Was leisten die verschiedenen Frameworks? Wo liegen die Unterschiede, was sind die Gemeinsamkeiten? Und wie finde ich heraus, welches Tool die richtige Lösung für mein Problem bereithält? Dieses Modul erörtert die Unterschiede zwischen den populären MVC-Frameworks und gibt über eine kleine Praxisübung Einblick in das Wesen der verschiedenen Lösungen.

6. OOP en detail: Während in anderen  Programmiersprachen relativ klar vorgegeben ist, wie man OOP zu machen hat, führen in JavaScript mehrere Wege nach Rom. Von prototypischer Vererbung über verschiedene Sorten von Mixin-Strategien bis hin zu DIY-Klassensystemen muss man von Fall zu Fall die richtige Technik zu wählen wissen.

7. ECMAScript-Ausblick: Der neue JavaScript-Standard ECMAScript 6 ist schon länger fertig spezifiziert und vereinzelt unterstützen Browser bereits heute die neuen Features. Wo Unterstützung fehlt, kann oft ein Transpiler, der ES6-Code für heutige Browser übersetzt, helfen… aber für welche Features lohnt sich dieser Aufwand und welchen Transpiler sollte man nehmen? Der ECMAScript-Ausblick stellt die wichtigsten Features der neuen JavaScript-Version und wagt auch schon einen Blick in die etwas weiter entfernte Zukunft.

 

Termine

27.11.–30.11.2017