Lund Flutter PDF
Lund Flutter PDF
Now.
Hurry up and build two great apps!
iOS SDK
MVC/MVVM
Android SDK
Reactive
Mobile SDKs
Reactive
Mobile SDKs
Reactive
Flutter React Native
...
$ flutter devices
emulator-5554 • android-x64 (7.1.1)
$ flutter run -d emulator-5554
“What I really like about Flutter, is their
beautiful set of Material Design widgets.”
https://medium.com/@aubykhan/how-i-built-a-cross-platform-connected-app-in-7-days-93728a987424
Custom UIs are really quite popular
Tr
ad
iti
ona
lly
class Person {
String name;
Person(this.name);
toString() => name;
}
A taste of Dart...
The Dart language
.apk
*.dart compiler
.js
Dart compiles to native machine code
...
ldr r1, [sp]
ldr d0, [r1, #3]
vcmpd d0, d0
vmstat
bvs L0
vcvtid s2, d0
vmovrs r0, s2
adds r0, r0, r0
bvs L1
vcvtdi d1, s2
vcmpd d0, d1
vmstat
bxeq lr
L0: ldr r0, [r1, #3]
ldr r1, [r1, #7]
eor r0, r0, r1
...
“The UI is butter smooth ... I have never
seen such a smooth Android app.”
No!
Free space is contiguous
filled free
Allocate by bumping a single pointer ...
filled free
Al
lo
ca
tio
n
in
Da
rt
Lock free
Simple
Fast
Co
nc
er
ne
d?
conservative precise
Idea: treat everything that looks like a pointer as such
- can’t distinguish ints from pointers
- can’t update pointers, because they might be ints
live objects
Semi-space collector
live objects
live objects
copy
live objects
copy
live objects
copy
live objects
live objects
live objects
conservative precise
Idea: allow moving objects and compacting
- enables really fast allocations
- enables really fast garbage collections
Live and dead objects in the object soup (usually called the heap)
root
“to” space
Live and dead objects in the object soup (usually called the heap)
root
forwarding pointer
“to” space
“to” space
“to” space
“to” space
Done
We never touched
any of the dead
objects!
“to” space
https://flutter.io/
Thank you!
https://flutter.io/