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

Flutter: A New Hope [EXTENDED VERSION]

Flutter: A New Hope [EXTENDED VERSION]

Eugenio Marletti

October 11, 2017
Tweet

More Decks by Eugenio Marletti

Other Decks in Technology

Transcript

  1. (originally) dynamic language Statically checked (strong mode) Mixins, reified generics,

    async (streams!) compile-time constant instances Null handling with .? and ?? Runs in Dart VM, JS or AOT native
  2. Stateful class _CounterState extends State<Counter> { int _counter = 0;

    void _increment() { setState(() { ++_counter; }); } @override Widget build(BuildContext context) { return new Text("Count: " + _counter); } }
  3. Full control No OEM customisation Always up to date Inspect

    real source code which will be run Minimal Apk size: 8MB
  4. $ flutter doctor [✓] Flutter (on Mac OS X 10.12.4

    16E195, channel unknown) • Flutter at /Users/takhion/flutter • Framework revision 031e042eee (3 weeks ago), 2017-03-17 15:24:54 • Engine revision c4edec7417 • Tools Dart version 1.23.0-dev.9.0 [✓] Host Executable Compatibility • Downloaded executables execute on host [✓] Android toolchain - develop for Android devices (Android SDK 25.0.2) • Android SDK at /Users/takhion/Android/sdk • Platform android-25, build-tools 25.0.2 • ANDROID_HOME = /Users/takhion/Android/sdk • Java binary at: /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/bin/java • Java version: Java(TM) SE Runtime Environment (build 1.8.0_25-b17) [✓] iOS toolchain - develop for iOS devices (Xcode 8.2.1) • Xcode at /Applications/Xcode.app/Contents/Developer • Xcode 8.2.1, Build version 8C1002 • ios-deploy 1.9.1 • CocoaPods version 1.2.0 [✓] Android Studio (version 2.2) • Android Studio at /Applications/Android Studio.app/Contents • Gradle version 2.14.1 [✓] Connected devices • Pixel • FA69N0309825 • android-arm • Android 7.1.1 (API 25)
  5. $ flutter run Launching lib/main.dart on Pixel in debug mode...

    Running 'gradle assembleDebug'... Built build/app/outputs/apk/app-debug.apk (21.8MB). Uninstalling old version... Installing build/app/outputs/apk/app.apk... 6.0s Syncing files to device... 2.8s ! To hot reload your app on the fly, press "r". To restart the app entirely, press "R". The Observatory debugger and profiler is available at: http://127.0.0.1:8106/ For a more detailed help message, press "h". To quit, press "q".