Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Angular Talk - Compiler, PWA, Universal, Electron

Angular Talk - Compiler, PWA, Universal, Electron

Dies ist ein Vortrag der einen Überblick gibt, wie Angular auf verschiedenen Zielsystemen zur Verfügung gestellt werden kann.

Gregor Woiwode

June 22, 2017
Tweet

More Decks by Gregor Woiwode

Other Decks in Programming

Transcript

  1. Wenn Komponenten zu uns sprechen… <fb-state-box message="I am happy to

    be here." location="Berlin" on-sent="post()"/> Die Komponente ist die Abstraktion eines Templates. “
  2. Wieso Angular? Erstellung wiederverwendbarer Webkomponenten Orchestrierung zahlreicher Webkomponenten Tooling &

    Integration in die IDE Gut gepflegte Dokumentation auf https://angular.io Eine hilfsbereite Community
  3. ES2015 Module // models/book.ts export class Book { } //

    enum // interface // function Jede Datei ist ein Modul. “ // components/book.component.ts import { Book } from '../models/book'; lädt
  4. Decorators - Klassen erweitern In ES5 sind Decorators leicht erklärt.

    “ function Decorator(target) { target.decorated = true; } function Component() { } Decorator(Component); console.log(Component.decorated) // -> true
  5. Decorators - ES2015 ES2015 führt das @ als Kurzschreibweise ein.

    “ function Decorator(target) { target.decorated = true; } @Decorator class Component() { } console.log(Component.decorated) // -> true
  6. Decorators - Parametrisierung mit HOF Decorators lassen sich parametrisieren. “

    function Decorator(isDecorated) { return function (target) { target.decorated = isDecorated; } } @Decorator(true) class Component() { } console.log(Component.decorated) // -> true
  7. -CLI Erzeugt Projektstruktur Code-Generation Erzeugt Code-Coverage-Report Bietet Development-Workflow an Stellt

    Test-Setup zur Verfügung Development Server Build-Process https://cli.angular.io/
  8. Schnelleres Rendering Weniger asynchrone Requests Vorteile von AoT Reduktion der

    Größe des -Frameworks Weniger Fehler in Templates Höhere Sicherheit
  9. COMPONENT Weniger Fehler in Templates createNewBook(form: NgForm) { this.create.emit(Object.assign({}, this.book));

    form.reset(); } <form #bookForm="ngForm" (ngSubmit)="createNewBook(title, authors)"> <!-- formular --> </form> AoT schlägt fehl
  10. manifest.json { // Required "manifest_version": 2, "name": "My Extension", "version":

    "versionString", // Recommended "default_locale": "en", "description": "A plain text description", "icons": {...}, // ... } https://developer.chrome.com/extensions/manifest “
  11. { "dynamic": { "group": [ "urls": { "https://www.googleapis.com": { "match":

    "prefix" } } ] }, "static": { "urls": { "/index.html": "...f03aea9", // ... } } ngsw-manifest.json APIs Assets Eigenes Manifest “
  12. Fazit Schneller Einstieg Probleme im Detail (siehe Routing) Integration mit

    Service Worker bisher nicht gelungen https://github.com/angular/universal-starter - Weiter forschen
  13. Motivation Einschränkung der Browser im Unternehmen Zugriff auf OS via

    Electron-API Routinen für Setup, Update & Uninstall
  14. Backup Kaum Code-Changes für Server-Side-Rendering oder Electron Komplexität im Build-Prozess

    nimmt zu Das Tooling ist noch experimentell Dokumentation gibt es in Form von Blog-Artikeln und Repos