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

Should we flutter?

Should we flutter?

You probably heard of Flutter, "yet another crossplatform system". It claims to provide a fast and fun way to create high quality apps. Should you or your Android team consider giving it a try?

Let me spoil the answer: It depends.

I will walk you through some questions and considerations, introducing Flutter concepts as we go. You'll hear from our experience building a first client's app with Flutter. Hopefully, in the end, you'll have your answer whether Flutter is an option for your team and project.

Miriam Busch

June 26, 2018
Tweet

More Decks by Miriam Busch

Other Decks in Technology

Transcript

  1. #1 Do you actually care about shipping to that other

    platform? Totally. Nice, but optional. Nope. 40 50 0
  2. What is a Flutter app? • Your app written in

    Dart • Bundled with the Flutter system • Compiled to native machine code
  3. #2 What is your design approach? Material Brand-specific / custom

    Native per Platform 20 30 -30 (*) (*) Adjust accordingly.
  4. How does Flutter run UI code? • Platform components are

    not used. • UI is rendered by Flutter’s own rendering engine. • Flutter rendering is fast. • Flutter offers: Material widgets, „Cupertino“ rewrite of iOS UI, customizable basic widgets
  5. #3 Does your app need partial screen Google maps or

    partial screen web views? Yes No -100 0
  6. Platform-specific code • Call platform-specific code via a message passing

    interface. • Google and 3rd party plugins: SQLite, BLE, Audio Playback, In-App Billing, Firebase…
  7. #5 Do you strive to always provide the best platform

    integration and adopt new OS features early? Yes No, but would like to. Actually no. -70 … make your call now … 0
  8. The latest and greatest of Android? • Dynamic Delivery? •

    Slices & App Actions • Modularization? ☹ • Customizable Material
  9. #6 Are you bored or annoyed by Android because… XML

    Layout is tedious? Animations are hard? Build times… 30 30 30
  10. Back to coding your UI return new Scaffold(appBar: new AppBar(

    title: new Text(widget.title), ), body: new Center( child: new Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ new Text('You have pushed the button this many times:',), new Text(‚$_counter', style: Theme.of(context).textTheme.display1,), ], ), ), floatingActionButton: new FloatingActionButton( onPressed: _incrementCounter, tooltip: 'Increment', child: new Icon(Icons.add), ), );
  11. „You never have to say no to your designer any

    more.“ → Youtube: Fluttery - „The Flutter challenge“ Custom widgets & animations
  12. Related at droidcon Berlin’18 • Dylan Drost: Dart: I’m your

    Flutter (Workshop) • Brian Egan: Build a reactive Flutter app! • Tomek Polanski: I convinced Groupon to Flutter. Do the same with your company. • Matthias Friedrich: Production Flutter’ing • Alternative for sharing business logic: Kotlin Multiplatform • Tobias Heine, Said Tahsin Dane: (Code) Sharing is caring
  13. Credits images • The Android droid logo is used under

    the terms of Creative Commons 3.0 - https://developer.android.com/distribute/marketing-tools/brand- guidelines • Erol Ahmed - https://unsplash.com/@erol • Arisa Chattasa - https://unsplash.com/@golfarisa