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

Become a PRO Flutter Developer

Pawan Kumar
September 29, 2019

Become a PRO Flutter Developer

Talk from Devfest Delhi 2019

Pawan Kumar

September 29, 2019
Tweet

More Decks by Pawan Kumar

Other Decks in Technology

Transcript

  1. Pawan Kumar GDE Flutter, Firebase, Dart & WebTech Twitter -

    @imthepk, Insta - @codepur_ka_superhero, Fb - @therealpawan Flutter: What’s new & become a PRO Flutter dev
  2. Flutter Flutter is Google’s UI toolkit for building beautiful, natively

    compiled applications for mobile, web, and desktop from a single codebase.
  3. 2015 April 2015 Unveiled at Dart Dev Summit 2017 May

    2017 Alpha Release 2018 Dec 2018 Flutter 1.0 release 2019 Sep 2019 Flutter 1.9 release
  4. Fast Development Flutter engineered for high development velocity. Stateful hot

    reload allows you to change your code and see it come to life in less than a second without losing the state of the app. Flutter also ships with rich set of customizable widgets, all built from modern reactive framework.
  5. Expressive + Flexible UI Flutter includes widgets, rendering, animations and

    gestures into the framework to give you complete control over every pixel on the screen. It means you have the flexibility to build a custom design.
  6. Native Apps for Android, iOS, Web, Desktop & you name

    it Flutter apps follow platform conventions and interface details such as scrolling, navigation, icons, fonts, etc. That’s why apps built with Flutter works everywhere.
  7. Hot Reload In flutter, hot reload comes to the rescue,

    just as you do on the web, just hit a refresh button and your codes also refreshes.
  8. Using Dart Dart is an object-oriented programming language. Dart uses

    generational garbage collection which helps in creating frames for short-lived objects. It also helps to allocate the objects with a single pointer bump to avoid UI jank and shutter.
  9. Reduce the third party libraries Rely on official packages and

    when using flutter, you can get complete IOS experience or Android Experience. So you don’t have to rely on the third party libraries.
  10. The customizable kit of widgets Flutter has built with a

    rich and customizable set of widgets for Android, IOS and Material Design. The collaboration between Flutter and Google’s material design render and easily create powerful UI experience. This helps us to create smooth, crisp and refined app experience like a native app.
  11. Scenario 1. A connected Progressive Web Application built with Flutter

    2. Embedded interactive content 3. Embedding dynamic content in a Flutter mobile app
  12. Flutter 1.9 1. Support for MacOS Catalina 2. iOS 13

    3. 24 new languages 4. Structured Error Messages 5. Better Flavors support 6. AAR support 7. And many more
  13. Lazy Programming Write what you need and no more, but

    when you write it, do it right. pawan.live
  14. SOLID Principles • S — Single responsibility principle • O

    — Open closed principle • L — Liskov substitution principle • I — Interface segregation principle • D — Dependency Inversion principle pawan.live https://medium.com/flutter-community/s-o-l-i-d-the-first-5-principle s-of-object-oriented-design-with-dart-f31d62135b7e
  15. Provider • Provider is a simpler way to use inherited

    widget, to synchronise your UI and your model. • It’s just a tool, not an architecture. • You don’t have to use it everywhere. pawan.live @remi_rousselet
  16. Bloc, Flutter Bloc • A Predictable state management library. •

    It enforces immutable state. • It enables time travel debugging. • Performant ( Only rebuild what you need ). • Easy to use and highly testable. pawan.live
  17. Stop over-engineering things • Stop using streams everywhere. • Stop

    using streambuilder inside streambuilder inside streambuilder. • Stop mixing UI with business logic. pawan.live
  18. Some packages / plugins • Font_awesome_flutter • Http & dio

    • Cached_network_image • Sqflite • Intl • Pk_skeleton • Queries • Shared_preferences • Url_launcher • flutter_launcher_icons pawan.live
  19. Write Test, Find Bug • When you fix a bug,

    first write a test that fails, then fix the bug and verify the test passes. • When you implement a new feature, write tests for it. pawan.live
  20. Android App Bundles • Official android apps publishing format. •

    Average size saving of upto 35%. • Optimized apk for each device. pawan.live
  21. Thanks Pawan Kumar GDE Flutter, Firebase, Dart & WebTech Twitter

    - @imthepk, Insta - @codepur_ka_superhero, Fb - @therealpawan