In dem Seminar „Advanced Web Technologies“ lernen Sie aktuelle Werkzeuge für die Webentwicklung zu nutzen. Wir lernen Node.js gezielt als Runtime unseres Developer Toolset einzusetzen, Pakete dynamisch über NPM zu laden, und unsere Lösungen, auch für ältere Browser kompatibel, mit Webpack zu bündeln. Bei den eingesetzten Sprachen, JavaScript und TypeScript, legen wir Wert darauf, modernen Syntax zu verwenden und vermitteln aktuelle Konzepte wir Reactive Programming, sowie modulares, und funktionales Programmieren. Wir vermitteln die neuesten Skills im Bereich responsive UI Design, auch am Beispiel von Bootstrap 4, und stellen aktuelle JavaScript Frameworks wie Angular, Vue.js und React vor. Wir behandeln die Themen Real Time Applications, Offline Verfügbarkeit und Nutzung von HTML APIs wie Gelolocation, Gerätezugriff.
Nach Abschluss dieses Seminars haben die Teilnehmer einen guten Überblick über modernes "Full-Stack-Development"
- VS Code und Github nutzen
- Node.js verstehen und einsetzen
- Modernes JavaScript & TypeScript schreiben
- Bundling & Compiling using Webpack
- Verstehen des Reactiv Programmierpatterns mit RxJS
- Implementieren eines Resposive User Interfaces mit CSS Grid & Flexbox
- Verwenden von Bootstrap 4
- Designing & Implementing Api’s & Graphs
- Kennen von aktuellen JavaScript Frameworks: Angular, Vue.js, React
- Implementieren von Real Time Anwendungen
- Unterstützen von Offlineverfügbarkeit
- HTML 5 APi’s & Device Access
- Verwenden von Tokenbasierender Authentifizierung
- Integration Sozialer Netzwerke und Dienste: Facebook & Paypal
Neue Themengebiete werden anhand von Folien, Demos und durchgängigen Beispielen erarbeitet. Am Ende jedes Tages gibt es ca. 2 Std „Lab of the day“ mit Aufgabenstellung, dazugehöriger Lösung und der Möglichkeit, diese zu diskutieren. Alle Beispiele werden über Github verteilt – als Editor setzen wir Visual Studio Code ein. Wir verwenden Branches, um schnell, und vor Allem übersichtlich zwischen den verschiedenen Entwicklungsstadien wechseln zu können.
- Visual Studio Code Essentials (Settings, Keybinding, ...)
- Useful Extensions Visual Studio Code
- Using Online Editors: Stackblitz
- Git's Role in modern CI / CD
- Using GitHub – Repos, Basic Commands, Branching & History
- Forking, Pull Requests & Git Flow
- Repo Documentation using Markdown
- Node.js Role in modern Web Development
- Node Basics & Configuration
- Package Management using NPM & Yarn
- Task Automation using NPM- & Gulp Scripts
- History of ECMA Script Standards
- ES6 Array Helpers & Utility Functions
- Classes, Inheritance
- Global Scope, Modules, Exports- und Imports
- Async Operations using Fetch Api, Promises & Async Await
- TypeScript Overview & Language
- Debugging using Source Maps
- Types, Functions & Enums
- Using 3rd Party Libraries & Type Definitions
- Objects, Classes, Interfaces, Enums
- Ensuring Code Quality using TSLint & Prettier
- Creating Webpack Bundles
- Ensuring Browser Compatibility using Polyfills & Shims
- Creating & Publishing NPM Packages
- Rest Api’s Overview
- Client Side vs Server Side Data Models
- Using Swagger to Design / Document the Api
- Implementing Api’s using Common Frameworks (Node.js, .NET Core, NestJS)
- Implementing Graphs using GraphQL & Appllo Server
- Understanding Mobile First
- Understanding Media Queries and Responsive Breakpoints
- Units: px, % versus rem, em, vh
- Effective HTML using Emmet
- Syntactically Awesome Style Sheets Basics (Sass)
- Sass Mixins, Partials & Imports
- Style Isolation using Shadow Dom & Web Components
- Understanding & and sing Flexbox & CSS Grid
- Web Fonts & Icons
- Introduction to Bootstrap
- Angular Introduction
- Angular - Hello World
- React Introduction
- React – Hello World
- Vue.js Introduction
- Vue.js –Hello World
- Understanding & using the Benefits of Reactive Programming
- Functional Programming & Immutability
- Observer, Observable, Subject
- Observable Operators
- Use Cases for Real Time Apps
- Common Real Time Libraries
- Implementing Real Time Apps using SignalR
- Understanding Offline First
- Local Storage, Indexed DB & Web SQL
- What are Progressive Web Apps (PWA)
- Progressive Web Apps Hello World
- Overview Device Access & HTML Apis
- Geolocation & Media Capture
- Device Orientation Events
- Other APIs (Battery Status, Vibration, Bluetooth ...)
- Classic vs Token Based Authentication
- OpenID Connect, JSON Web Tokens (Jwt) & oAuth
- Using Social Authentication
- Facebook Introduction
- Consuming Facebook Graph
- Using the Paypal SDK