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

Why Flutter excitement me?

Why Flutter excitement me?

Flutter is fun. Why Flutter excitement me at mobile development?

ENDO Yasuyuki

April 25, 2019
Tweet

More Decks by ENDO Yasuyuki

Other Decks in Programming

Transcript

  1. About me ENDO Yasuyuki (2019/03~ freelance) https://github.com/eyasuyuki 2009~ Android development

    2016~ iOS development 2019/03~ Flutter development 2019/04~ React Native development
  2. Websites Flutter Official Website https://flutter.dev/ Dart Official Website https://www.dartlang.org/ Japan

    Flutter User Group https://flutter‑jp.connpass.com/ Dartlang Users JP ‑ Slack http://dartlang‑users‑jp‑invite.herokuapp.com/
  3. Examples ‑ Simple YouTube Player React Native version From Barry

    Michael Doyle's tutorial. https://github.com/eyasuyuki/SimpleYouTubePlayer Flutter version https://github.com/eyasuyuki/simple‑youtube‑player
  4. Why Flutter excitement me? Easy to install Dart2 is simple

    Very fast hot‑reload Everything is Widget High productivity
  5. Easy to install 1. Download and extract Flutter SDK 2.

    Add flutter/bin to PATH environment 3. Use CLI command flutter doctor 4. Install plugin to Android Studio/Visual Studio Code 5. Run iOS Simulator/Android emulator 6. flutter create -a kotlin -i swift <project_name> 7. Update to new version flutter upgrade
  6. dynamic type code example main() { dynamic x = 5;

    print(x); x = 'text'; print(x); }
  7. map, filter, fold and more methods supported by List class

    https://api.dartlang.org/stable/2.2.0/dart‑core/List‑class.html
  8. === operator was not supported (use identical ) https://api.dartlang.org/stable/2.2.0/dart‑core/identical.html code

    example class X { final String _value; X(this._value); } main() { var a = X('a'); var b = X('a'); print(identical(a, b)); // false var p = X('b'); var q = p; print(identical(p, q)); // true }
  9. == operator is appropriate code example 0 == "0" //

    false 0 == [] // false "0" == [] // false
  10. Everything is Widget StatelessWidget StatefulWidget No layout.xml or Storyboard Material

    design MaterialApp , Scaffold Cupertino (iOS‑style) widgets
  11. Hight productivity (2/3) CLI commands flutter doctor flutter create -a

    kotlin -i swift <project_name> flutter run Run flutter packages get after editing pubspec.yaml flutter clean dartfmt
  12. High productivity (3/3) Asynchronous programming Future async/await Stream BLoC pattern

    Business Logic Component Lot of packages Firebase, etc.