SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
Flutter.io
Tomáš Zvěřina @tomucha
Proč už nejsem mobilním vývojářem ...
Piplačka
Složité
Víc platforem
Fragmentace
Old-school
it’s
no
FUN!
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!
$
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
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

Contenu connexe

Plus de Develcz

Štěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmysl
Štěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmyslŠtěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmysl
Štěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmyslDevelcz
 
Tomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQL
Tomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQLTomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQL
Tomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQLDevelcz
 
Jakub Vrána: Dokazatelná bezpečnost
Jakub Vrána: Dokazatelná bezpečnostJakub Vrána: Dokazatelná bezpečnost
Jakub Vrána: Dokazatelná bezpečnostDevelcz
 
Roman Schejbal: From Madness To Reason
Roman Schejbal: From Madness To ReasonRoman Schejbal: From Madness To Reason
Roman Schejbal: From Madness To ReasonDevelcz
 
Michal Illich: Zuri aneb Vývojáři staví letadlo
Michal Illich: Zuri aneb Vývojáři staví letadloMichal Illich: Zuri aneb Vývojáři staví letadlo
Michal Illich: Zuri aneb Vývojáři staví letadloDevelcz
 
Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...
Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...
Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...Develcz
 
David Majda: Autoformátování kódu
David Majda: Autoformátování kóduDavid Majda: Autoformátování kódu
David Majda: Autoformátování kóduDevelcz
 
David Grudl: Open source: The Good, the Bad and the Ugly
David Grudl: Open source: The Good, the Bad and the UglyDavid Grudl: Open source: The Good, the Bad and the Ugly
David Grudl: Open source: The Good, the Bad and the UglyDevelcz
 
Ondřej Machulda: Začíná zlatá doba end-to-end testů!
Ondřej Machulda: Začíná zlatá doba end-to-end testů!Ondřej Machulda: Začíná zlatá doba end-to-end testů!
Ondřej Machulda: Začíná zlatá doba end-to-end testů!Develcz
 
Adam Kudrna: Headless WordPress/Drupal
Adam Kudrna: Headless WordPress/DrupalAdam Kudrna: Headless WordPress/Drupal
Adam Kudrna: Headless WordPress/DrupalDevelcz
 
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světěJaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světěDevelcz
 
Martin Michálek: Bootstrap 4 - Jednou to muselo přijít
Martin Michálek: Bootstrap 4 - Jednou to muselo přijítMartin Michálek: Bootstrap 4 - Jednou to muselo přijít
Martin Michálek: Bootstrap 4 - Jednou to muselo přijítDevelcz
 
Ondřej Mirtes: Usnadněte si práci silně typovaným kódem a statickou analýzou!
Ondřej Mirtes: Usnadněte si práci silně typovaným kódem a statickou analýzou!Ondřej Mirtes: Usnadněte si práci silně typovaným kódem a statickou analýzou!
Ondřej Mirtes: Usnadněte si práci silně typovaným kódem a statickou analýzou!Develcz
 
Karel Smutný: Jak se samo-organizujeme v Brand Embassy
Karel Smutný: Jak se samo-organizujeme v Brand EmbassyKarel Smutný: Jak se samo-organizujeme v Brand Embassy
Karel Smutný: Jak se samo-organizujeme v Brand EmbassyDevelcz
 
Martin Šimeček: Chytré boty do každé rodiny
Martin Šimeček: Chytré boty do každé rodinyMartin Šimeček: Chytré boty do každé rodiny
Martin Šimeček: Chytré boty do každé rodinyDevelcz
 
Richard Fridrich: Třesení stromem v JavaScriptu
Richard Fridrich: Třesení stromem v JavaScriptuRichard Fridrich: Třesení stromem v JavaScriptu
Richard Fridrich: Třesení stromem v JavaScriptuDevelcz
 
Bára Bühnová: Naučte se taktizovat s pomocí bad code smells a quality tactics
Bára Bühnová: Naučte se taktizovat s pomocí bad code smells a quality tacticsBára Bühnová: Naučte se taktizovat s pomocí bad code smells a quality tactics
Bára Bühnová: Naučte se taktizovat s pomocí bad code smells a quality tacticsDevelcz
 
Michal Kovařík: Multiplayer ve Factoriu
Michal Kovařík: Multiplayer ve FactoriuMichal Kovařík: Multiplayer ve Factoriu
Michal Kovařík: Multiplayer ve FactoriuDevelcz
 
Jirka Kosek: CSS Paged Media aneb Gutenberg v prohlížeči
Jirka Kosek:  CSS Paged Media aneb Gutenberg v prohlížečiJirka Kosek:  CSS Paged Media aneb Gutenberg v prohlížeči
Jirka Kosek: CSS Paged Media aneb Gutenberg v prohlížečiDevelcz
 
Karol Danko: IoT z pohľadu programátora
Karol Danko:  IoT z pohľadu programátoraKarol Danko:  IoT z pohľadu programátora
Karol Danko: IoT z pohľadu programátoraDevelcz
 

Plus de Develcz (20)

Štěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmysl
Štěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmyslŠtěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmysl
Štěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmysl
 
Tomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQL
Tomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQLTomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQL
Tomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQL
 
Jakub Vrána: Dokazatelná bezpečnost
Jakub Vrána: Dokazatelná bezpečnostJakub Vrána: Dokazatelná bezpečnost
Jakub Vrána: Dokazatelná bezpečnost
 
Roman Schejbal: From Madness To Reason
Roman Schejbal: From Madness To ReasonRoman Schejbal: From Madness To Reason
Roman Schejbal: From Madness To Reason
 
Michal Illich: Zuri aneb Vývojáři staví letadlo
Michal Illich: Zuri aneb Vývojáři staví letadloMichal Illich: Zuri aneb Vývojáři staví letadlo
Michal Illich: Zuri aneb Vývojáři staví letadlo
 
Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...
Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...
Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...
 
David Majda: Autoformátování kódu
David Majda: Autoformátování kóduDavid Majda: Autoformátování kódu
David Majda: Autoformátování kódu
 
David Grudl: Open source: The Good, the Bad and the Ugly
David Grudl: Open source: The Good, the Bad and the UglyDavid Grudl: Open source: The Good, the Bad and the Ugly
David Grudl: Open source: The Good, the Bad and the Ugly
 
Ondřej Machulda: Začíná zlatá doba end-to-end testů!
Ondřej Machulda: Začíná zlatá doba end-to-end testů!Ondřej Machulda: Začíná zlatá doba end-to-end testů!
Ondřej Machulda: Začíná zlatá doba end-to-end testů!
 
Adam Kudrna: Headless WordPress/Drupal
Adam Kudrna: Headless WordPress/DrupalAdam Kudrna: Headless WordPress/Drupal
Adam Kudrna: Headless WordPress/Drupal
 
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světěJaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
 
Martin Michálek: Bootstrap 4 - Jednou to muselo přijít
Martin Michálek: Bootstrap 4 - Jednou to muselo přijítMartin Michálek: Bootstrap 4 - Jednou to muselo přijít
Martin Michálek: Bootstrap 4 - Jednou to muselo přijít
 
Ondřej Mirtes: Usnadněte si práci silně typovaným kódem a statickou analýzou!
Ondřej Mirtes: Usnadněte si práci silně typovaným kódem a statickou analýzou!Ondřej Mirtes: Usnadněte si práci silně typovaným kódem a statickou analýzou!
Ondřej Mirtes: Usnadněte si práci silně typovaným kódem a statickou analýzou!
 
Karel Smutný: Jak se samo-organizujeme v Brand Embassy
Karel Smutný: Jak se samo-organizujeme v Brand EmbassyKarel Smutný: Jak se samo-organizujeme v Brand Embassy
Karel Smutný: Jak se samo-organizujeme v Brand Embassy
 
Martin Šimeček: Chytré boty do každé rodiny
Martin Šimeček: Chytré boty do každé rodinyMartin Šimeček: Chytré boty do každé rodiny
Martin Šimeček: Chytré boty do každé rodiny
 
Richard Fridrich: Třesení stromem v JavaScriptu
Richard Fridrich: Třesení stromem v JavaScriptuRichard Fridrich: Třesení stromem v JavaScriptu
Richard Fridrich: Třesení stromem v JavaScriptu
 
Bára Bühnová: Naučte se taktizovat s pomocí bad code smells a quality tactics
Bára Bühnová: Naučte se taktizovat s pomocí bad code smells a quality tacticsBára Bühnová: Naučte se taktizovat s pomocí bad code smells a quality tactics
Bára Bühnová: Naučte se taktizovat s pomocí bad code smells a quality tactics
 
Michal Kovařík: Multiplayer ve Factoriu
Michal Kovařík: Multiplayer ve FactoriuMichal Kovařík: Multiplayer ve Factoriu
Michal Kovařík: Multiplayer ve Factoriu
 
Jirka Kosek: CSS Paged Media aneb Gutenberg v prohlížeči
Jirka Kosek:  CSS Paged Media aneb Gutenberg v prohlížečiJirka Kosek:  CSS Paged Media aneb Gutenberg v prohlížeči
Jirka Kosek: CSS Paged Media aneb Gutenberg v prohlížeči
 
Karol Danko: IoT z pohľadu programátora
Karol Danko:  IoT z pohľadu programátoraKarol Danko:  IoT z pohľadu programátora
Karol Danko: IoT z pohľadu programátora
 

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