$30 off During Our Annual Pro Sale. View Details »

Web Apps mit Flutter

Jörg Neumann
September 16, 2021

Web Apps mit Flutter

Jörg Neumann

September 16, 2021
Tweet

More Decks by Jörg Neumann

Other Decks in Technology

Transcript

  1. WEB APPS MIT FLUTTER DANK WEB ASSEMBLY JÖRG NEUMANN |

    ACLUE
  2. JÖRG NEUMANN THEMEN  Frontend Technologies  Mobile Development 

    Machine Learning  Consulting, Coaching, Training KONTAKT  Mail: joerg.neumann@aclue.de  Twitter: @joergneumann  GitHub: https://github.com/joergneumann  Blog: http://www.headwriteline.blogspot.com
  3. FLUTTER STRATEGIE  Ein einheitliches App Modell für nahezu alle

    Device Typen  Das neue App Modell für Android & Fuchsia PLATTFORMEN  Mobile: iOS, Android  Desktop: Windows, MacOS, Linux  Web: WASM-basiert OPEN SOURCE  Contributions u.a. von Microsoft und Toyota
  4. != UI Stacks != Entwicklungs-Tools != Programmiersprachen UI Komponenten- modell

    Produktivität Performance
  5. WAS IST FLUTTER? BACKGROUND  Open Source-Projekt von Google 

    Apps auf einer Source Code Basis entwickeln  React-style Framework FEATURES  Native Performance  Mächtiger UI-Stack  Material Components  Hot Reload
  6. DEVELOPMENT DEVELOPMENT TOOLS  Android Studio  IntelliJ IDEA 

    Visual Studio Code  Flutter CLI https://flutter.io/setup https://flutter.io/using-ide/
  7. DEMO

  8. ARCHITEKTUR: CORE ENGINE Framework Dart Material Engine C++ Skia Dart

    Text Widgets Rendering Animation Foundation Painting Gestures Cupertino
  9. DART FEATURES  JavaScript Transpiler  Ähnlich wie TypeScript 

    Typsichere, objektorientierte Sprache  Kann auch nativ kompiliert werden
  10. AHEAD-OF-TIME COMPILATION *.dart compiler .js .apk .ipa

  11. FLUTTER WEB VORTEILE  Ein einfacher Weg aus der Mobile

    App eine Web App zu machen  App entwickeln und später schauen, wo sie laufen soll  Kein dediziertes Web Know-how erforderlich
  12. FLUTTER WEB: EINSATZSZENARIEN Progressive Web Apps High Quality PWAs mit

    einer hohen Client Integration, inkl. Installation, Offline Support und maßgeschneiderte UX. SPA Single Page Apps Standalone Web Apps, mit erweiterten Grafikanforderungen und komplexer Benutzerinterkation über Device Grenzen hinweg. Mobile Existierende Mobile Apps Browser-basiertes Delivery Modell für existierende Flutter Mobile Apps. Dart Code wird gegen ein anderes Modell kompiliert und muss nur geringfügig angepasst werden.
  13. ARCHITEKTUR: FLUTTER WEB Framework Dart Material Browser JavaScript / C++

    HTML/CSS WebGL WASM Widgets Rendering Animation Foundation Painting Gestures Cupertino Canvas  Flutter Web ist eine Kombination aus: DOM, Canvas & WebAssembly  Core Drawing Layer wurde in Dart entwickelt  Wird über den JavaScript Compiler fürs Web kompiliert  Framework & App wird über eine einzelne Datei verteilt  Funktioniert mit jedem modernen Browser und mit jedem Web Server
  14. WEB RENDERERS HTML Renderer  Verwendet eine Kombination aus HTML-,

    CSS-, Canvas- und SVG-Elementen.  Hat eine geringe Download Größe  Für Text-intensive Apps CanvasKit Renderer  Ist vergleichbar mit dem Flutter Mobile- und Desktop-Renderer  Hat eine höhere Performance  Hat jedoch auch eine größere Bundle Size (~2 MB)  Für Grafik-intensive Apps
  15. BROWSER SUPPORT Flutter Web Apps können in den folgenden Browsern

    ausgeführt werden:  Chrome (Mobile & Desktop)  Safari (Mobile & Desktop)  Edge (Mobile & Desktop)  Firefox (Mobile & Desktop) Während der Entwicklung werden Chrome (macOS, Windows & Linux) und Edge (Windows) als Default Browser für das Debugging unterstützt.
  16. WIDGET RENDER TREE App Widget Material Widget Scaffold Widget Text

    Container Button Column
  17. DEMO

  18. FAZIT FLUTTER VEREINFACHT DIE CROSS-PLATTFORM-ENTWICKLUNG  Einheitliche Entwicklung nativer Apps

    für Mobile, Desktop und Web  Einfache Entwicklung von Custom UIs  Plattformspezifische Anpassungen leicht möglich  Vorhandenes Wissen kann wiederverwendet werden
  19. RESSOURCEN FLUTTER HOME  https://flutter.io FLUTTER WEB  https://flutter.dev/web FLUTTER

    CODE LABS  https://codelabs.developers.google.com/codelabs/flutter
  20. RESSOURCEN DOCUMENTATION  https://docs.flutter.io/ GITHUB  https://github.com/flutter/flutter STACKOVERFLOW  https://stackoverflow.com/questions/tagged/flutter

    GITTER  https://gitter.im/flutter/flutter