ݺߣ

ݺߣShare a Scribd company logo
Flutter.io
Tomáš Zvěřina @tomucha
Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikací
Proč už nejsem mobilním vývojářem ...
Piplačka
Složité
Víc platforem
Fragmentace
Old-school
it’s
no
FUN!
Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikací
Píšu v Dartu
Píšu v Dartu
Reaktivní UI z widgetů
State Function UI
Píšu v Dartu
Reaktivní UI z widgetů
Kompiluju AOT do ARM strojáku 1. žádný bytekód
2. žádné závislosti
3. všude stejné
4. přímo na canvas/GPU
5. fofr (60 fps → 120 fps)
Píšu v Dartu
Reaktivní UI z widgetů
Kompiluju AOT do ARM strojáku
Deploy na iOS i Android
Píšu v Dartu
Reaktivní UI z widgetů
Kompiluju AOT do ARM strojáku
Deploy na iOS i Android
Profit!
? !
https://flutter.io
https://fnx.io
Tomáš Zvěřina @tomucha
1. Dart
2. UI se kreslí na canvas
3. Všechno je widget
4. Hot reload FTW!
5. Fofr
1. Dart!
$ echo "void main() { print('zDart!'); }" > hello.dart
$ dart hello.dart
zDart!
$
Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikací
Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikací
Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikací
Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikací
Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikací
Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikací
2. UI se kreslí na canvas
2. UI se kreslí na canvas
3. Všechno je widget
1. lightweight
2. unmodifiable
3. activity widget!
4. fragment widget!
5. controller widget!
6. layout widget!
7. view widget!
3. Všechno je widget
3. Všechno je widget
4. Hot reload FTW
5. Fofr!
Compare
Update
Real
DOM
Virtual
DOM
Application Platform
R
e
n
d
e
r
Canvas
Events
5. Fofr!
Compare
Update
Platform
Widgets
Virtual
Widgets
Application Platform
R
e
n
d
e
r
Canvas
Events
5. Fofr!
Widget
Tree
R
e
n
d
e
r
Canvas
Events
Application Platform
Proč už nejsem mobilním vývojářem ...
Piplačka
Složité
Víc platforem
Fragmentace
Old-school
… a proč jsem zase začal.
Piplačka
Složité
Víc platforem
Fragmentace
Old-school
Hot reload
Single code base
All included
Přátelské
Reactive
Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikací
Bonus
return new Column(
children: <Widget>[
new RotatedBox(
quarterTurns: 2,
child: new LifeCounter(...)
),
new MaterialButton(
onPressed: resetGame,
child: new Text("Restart")
),
new LifeCounter(...)
],
);
Bonus
? !
https://flutter.io
https://fnx.io
Tomáš Zvěřina @tomucha

More Related Content

Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikací