Cool Web Apps Training

This training is available in English us and German us.

Please scroll down for the German description.

Prerequisite: Good Java knowledge,
JavaScript/Angular/TypeScript knowledge is helpful but not necessary
Target Audience: Software developers and software architects
Classification: Seminar with practical exercises
Duration: 1 day

Motivation / Objective:
In this workshop we will develop a small but complete (client/server based) web application. The client part is implemented with Angular, TypeScript and Bootstrap. The server part is based on Spring Boot, we will also use Spring Data / REST / HATEOAS. We will develop RESTful Web Services, which are enriched with hypermedia. Kai will explain the basics of Spring Boot and the used frameworks, as well as the general principles of REST and HATEOAS (Hypermedia As The Engine Of Application State, an important REST architecture principle). For client development Kai will give a brief introduction of Typescript, Angular, Bootstrap and the standard JavaScript development tools like npm, Jasmine, Webpack etc. At the end of the day, we will have developed a complete Web application using all those technologies.

The workshop is highly interactive with lots of practical exercises. Each participant should bring their own laptop with installed Java 7 or 8 JDK.

Outline

  • Spring Boot
    • Introduction
    • Hello World Example
    • Simple Controller
    • Testing of Spring Controllers
  • REST & Hypermedia
    • REST Basics
    • Richardson Maturity Model
    • HAL (Hypertext Application Language)
  • Spring Data Rest
    • Domain Classes with Project Lombok
    • Data Repositories
    • RESTful repositories with Hypermedia
    • Building robust clients
  • TypeScript
    • Introduction
    • Classes, Interfaces, Modules
  • JavaScript Development Tools
    • Node.js & npm
    • Webpack
    • Jasmine & Karma
  • Angular
    • Introduction
    • Architecture
    • Modules
    • Components
    • Routing
    • Services & Dependency Injection
  • Bootstrap
    • Introduction
    • Example
    • Templates
  • Putting it all together
    • CORS
    • HTTP calls with RxJS
    • Using Hypermedia on the Client
    • Connecting the Client to the Server

Slide Material and Lab Sources
Here are the slides for the training: https://speakerdeck.com/toedter/cool-web-apps-with-spring-boot-angular-and-typescript. You find the source code for the labs at https://github.com/toedter/webapp-tutorial.

Registration
Please contact me directly.

Coach
Kai Tödter is a Principal Key Expert at Siemens Building Technologies and he is also a freelancer with lot experience. For 20 years he works with Java technologies and for many years with Web technologies. Kai is a world renowned Java and Web expert, has represented Siemens in the JCP and the Eclipse Foundation and is a committer in several open source projects. Kai is also known for his publications in leading journals, his lectures at international conferences and his blog.

Deutsch

Voraussetzung: Gute Java Kenntnisse,
JavaScript-/Angular-/TypeScript-Vorwissen ist hilfreich aber nicht notwendig
Zielgruppe: Software-Entwickler und Software-Architekten
Klassifizierung: Seminar mit praktischen Übungen
Dauer: 1 Tag

Motivation / Zielsetzung:
In diesem Workshop werden wir eine kleine, aber komplette (Client/Server basierte) Web-Anwendung entwickeln. Der Client-Teil basiert auf Angular, TypeScript und Bootstrap. Der Server-Teil basiert auf Spring Boot, wir werden auch mit Spring Data / REST / HATEOAS arbeiten. So werden wir einen RESTful Web Service entwickeln, der mit Hypermedia angereichert ist. Kai wird die Grundlagen von Spring Boot und den verwendeten Frameworks sowie die allgemeinen Grundsätze des REST und HATEOAS (Hypermedia As The Engine Of Application State, ein wichtiges REST-Architektur-Prinzip) erklären. Für die Client-Entwicklung wird Kai eine kurze Einführung in TypeScript, Angular, Bootstrap und die Standard-JavaScript-Entwicklungstools wie npm, Jasmin, Webpack usw. geben. Am Ende des Tages werden wir eine kompletten Web-Anwendung mit allen genannten Technologien entwickelt haben.

Der Workshop ist sehr interaktiv mit vielen praktischen Übungen. Jeder Teilnehmer sollte einen eigenen Laptop mit installiertem Java JDK 7 oder 8 mitbringen.

Inhalt

  • Spring Boot
    • Einführung
    • Hello World Beispiel
    • Simple Controller
    • Testen von Spring Controllers
  • REST & Hypermedia
    • REST Basics
    • Richardson Maturity Model
    • HAL (Hypertext Application Language)
  • Spring Data Rest
    • Domain-Klassen mit Project Lombok
    • Daten-Repositories
    • RESTful Repositories mit Hypermedia
    • Wie baut man robuste Clients?
  • TypeScript
    • Einführung
    • Klasses, Interfaces, Module
  • JavaScript Entwicklungs-Tools
    • Node.js & npm
    • Webpack
    • Jasmine & Karma
  • Angular
    • Einführung
    • Architektur
    • Modules
    • Components
    • Routing
    • Services & Dependency Injection
  • Bootstrap
    • Einführung
    • Beispiele
    • Templates
  • Putting it all together
    • CORS
    • HTTP mit RxJS
    • Hypermedia im Client
    • Client mit Server verbinden

Folien-Material und Lab-Sourcen
Hier sind die begleitenden Folien für dieses Training finden Sie unter https://speakerdeck.com/toedter/cool-web-apps-with-spring-boot-angular-and-typescript. Den Source-Code für die Übungen finden Sie unter https://github.com/toedter/webapp-tutorial.

Anmeldung:
Bitte kontaktieren Sie mich direkt.

Trainer:
Kai Tödter ist hauptberuflich Principal Key Expert bei Siemens Building Technologies und er ist auch freiberuflich tätig. Er beschäftigt sich seit über 20 Jahren mit Java-Technologien und seit vielen Jahren intensiv mit Web-Technologien. Kai ist ein weltweit anerkannter Java- und Web-Experte, hat Siemens im JCP und in der Eclipse Foundation vertreten und ist Committer in einigen Open Source Projekten. Kai ist außerdem bekannt durch seine Veröffentlichungen in renommierten Fachzeitschriften, seinen Vorträgen auf internationalen Konferenzen und seinen Blog.