Beruflich Dokumente
Kultur Dokumente
▸ Standardised API
GETTING STARTED
GETTING STARTED 12
😖
DOWNCASTING
IT HELPS TO HAVE WELL-ESTABLISHED
DESIGN PATTERNS
DESIGN PATTERNS 27
FLUTTER
COMMON
TOOLS
DRAG/DROP GUI EDITOR
No 😓
No - very limited
support, socket
connection breaks
Partial - currently
opened activity
refreshes. Also slow
Well Supported -
Separate unit and UI test
methods not needed
DATA (DE)SERIALIZATION AT RUNTIME
Yes - Gson, Jackson,
FasterXML. Also data
class generators
available
No - Not possible
without reflection. Need
data classes pre-
generated.
2-WAY DATA BINDING
No - sqflite is kind of
ORM but lot of hand-
written SQL needed.
Not possible because no runtime
reflection
INTEGRATING WITH NATIVE WIDGETS
Needed to embed Google Maps or WebViews
Ofcourse 🙄
No - Preliminary support
recently dropped,
doesn’t work reliably yet
LET US TAKE A
WALK THROUGH
THE CODEBASE
cb.lk/rwappkt
3.6MB
16 MB 73MB
42MB 75MB
App Size (prod)
3.1 MB
36%
40% 15%
26% 17%
Consistent CPU Usage
4 threads 12 threads
6%
10% 1%
14% 4%
Peak Memory Usage
127 MB
145 MB 35 MB
160 MB 80 MB
Average Memory Usage
50 MB
75 MB 30 MB
90 MB 40 MB
Lines of Code (excluding autogenerated files)
32s
30s 30s
50s 40s
Build Time (warm/dirty)
8s
7s 6s
8s 9s
Time taken to develop (via wakatime.com stats)
10.5 hrs
8.5 hrs
8 hrs
THANK YOU!
QUESTIONS?
speakerdeck.com/championswimmer
@championswimmer : Twitter | Github