A talk held at Flutter Live viewing party/meetup in Zagreb and later on Flutter ZG meetup.
Focused on basics of Flutter and idea of using Flutter just as a UI toolkit for your existing app logic via channels.
What the ﬂut(ter)?
Android Architect @ Undabot
What’s this.. ﬂutter thingy?
• Crossplatform mobile SDK
• Based on Dart(lang)
• Developed to make mobile development faster
• Developed by the brains behind Webkit, HTML5 & tons of
• Developed by Google, (ab)used by Google
• Year over year one of the fastest growing languages
• JIT & AOT
• Static but dynamic
• Expressive and portable
Crossplatform? Ugh, again?
Haven’t we decided it sucks?
Yeah, but.. this time it’s different!
• Different approach to rendering
• No bridges to native components
• Draws a custom view on a Canvas
• UI is structured as a tree
• Composition over inheritance
• Only subtrees that have changed state are redrawn
So this time..
• Properties passed to Widget
• No state management
• Can’t be simpler
• Have state containers
• Are redrawn on setState
• State management is left to you
(NOT THE SAME AS KOTLIN CHANNELS)
• Protocol to establish platform <-> ﬂutter communication
• Binary serialization of messages
• Support async messaging via await, Future
• Can invoke methods and return responses
• Can pass arguments and data
AND our UI LAYER IN FLUTTER…
WITH platform channels
WE CAN DO….
What do you mean, magic?
• We love Kotlin
• We love the Kotlin ecosystem
• We’re following clean’n’solid principles
• UI development on Android is slow and painful
• UI development in Flutter is fast and easy
1. Button widget calls native method
2. Kotlin calls coordinator
3. API returns response
4. Data is multiplied by random
5. Data is serialised to JSON
6. JSON is sent through channel
7. JSON is deserialised in Flutter
8. Flutter changes state of component
• Easy UI writing
• Great rendering pipeline
• Hot reload
• Great language
• Rendering approach
• Need to learn dart
• Dart Ecosystem
• APK Size (not really)
Thank you for your time!
Android Architect @Undabot