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

Flutter for Web - Codemotion Berlin 2019

Flutter for Web - Codemotion Berlin 2019

Lara Martín

November 13, 2019
Tweet

More Decks by Lara Martín

Other Decks in Technology

Transcript

  1. Flutter for Web Android, iOS, Desktop… and Web? Lara Martín

    @Lariki Flutter/Dart GDE - Android Miguel Beltran @MiBLT Freelance Consultant
  2. Flutter for Web Android, iOS, Desktop… and Web? Lara Martín

    @Lariki Flutter/Dart GDE - Android Miguel Beltran @MiBLT Freelance Consultant
  3. What is Flutter? “Flutter is Google’s UI toolkit for building

    beautiful, natively compiled applications for mobile, web, and desktop from a single codebase.”
  4. Dart final antennaDiameter = 3.7; var flybyObjects = ['Jupiter', 'Saturn',

    'Uranus']; for (var object in flybyObjects) { print(object); } class Spacecraft { String name; toString() => ‘Spacecraft: $name’; }
  5. Is it Production Ready?™ Companies that use Flutter Alibaba Groupon

    Lenovo eBay Phillips realtor.com PolicyGenius BMW Tencent Abbey Road Studios Google (Stadia, Ads) New York Times Capital One …and more! Topline by Abbey Road Studios
  6. Is it Production Ready?™ But keep in mind: It is

    ‘too’ new ❌ Google can ‘kill’ it Feature limitations Google Maps in Flutter - Sample app
  7. Christmas Markets App List Christmas markets available Header with animated

    snow (Flare) Calendar date picker Load markets from local CSV file Missing feature: When the user taps a date The app displays the markets available Let’s fix it!
  8. Flutter Web In developer preview Goal: Web support like mobile

    Not recommended for production yet Demos https://flutter.github.io/samples/
  9. What Works: - Build and serve websites with Flutter -

    Dart plugins - Loading custom fonts - Image assets and icons - Good UX just like in mobile - Chrome, Safari and Edge - Hot reload on debug - Minified JS on release KenKen by New York Times
  10. What is missing: - No text selection (!!!) - Poor

    accessibility - UI interaction is “mobile like” (e.g. no scroll) - Poor performance Dataviz Flutter web sample app
  11. Making our App Work 1. Change to `channel master` 2.

    Enable web with `config —enable-web` 3. Reinit the project with web support This created a `web` folder with an index.html
  12. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>xmas</title> </head> <body> <script

    src="main.dart.js" type=“application/javascript"> </script> </body> </html> Flutter’s index.html
  13. Making our App Work Code changes Remove snow animation Adjust

    UI for large screen Run with `run -d chrome` …and it worked!
  14. My Take (Lara) Easy to learn for everyone Fast and

    fun Multiplatform Open Source Awesome community
  15. My Take (Miguel) Clients love the results Full custom UI

    Fast and fun Tests everywhere Helpful community Flutter Web is promising
  16. Thank You! L a r a M a r t

    í n F l u t t e r G D E A n d r o i d D e v e l o p e r @ L a r i k i M i g u e l B e l t r a n F r e e l a n c e C o n s u l t a n t @ M i B LT