Komentáře k článku
Flutter.io – mobilní aplikace, znovu a lépe

Vývoj Android aplikací jsem opustil už před lety. Je s tím moc práce a málo zábavy. Tím spíš mě ale zaujal Flutter. Že by mě ty mobilní appky začaly zase bavit?
Vývoj Android aplikací jsem opustil už před lety. Je s tím moc práce a málo zábavy. Tím spíš mě ale zaujal Flutter. Že by mě ty mobilní appky začaly zase bavit?
Připadá mi, že ideově dosti kopírují React (což je dobře). Akorát mi tam nějak chybí obdoba JSX :D Asi jsem si na to už moc zvykl. Každopádně oproti Reactu to má nevýhodu v tom, že nejde o věc typu „learn once, write anywhere“. Podle mě si to bude jen těžko hledat vývojáře, ještě hůře než Xamarin. Protože ruku na srdce, kdo programuje v Dartu?
Re:
Tak třeba já :-) a hodně rád, ale uznávám je nás málo. V samotném Dartu však problém není – oproti vžitému mainstreamovému přesvědčení je to jednoduchý elegantní jazyk i platforma vhodná pro různé použití s vysokou efektivitou. Subjektivně na mé cestě přes asm, basic, pascal, c, c++, javu, js, scalu se mi líbí daleko nejvíc.
Díky za react-native.
Všechny pokusy v minulosti, které renderovaly všechny samy, dopadly strašně špatně.
Nativní prvky for the win! Snad už jsme se poučili!
Problem je, ze bez optimalizaci a vyuzivani nativnich knihoven te ci one platformy budeme casto znovu vynalezat kolo.
Toto je cesta do pekla. Je to dobre tak pro ty nejjednodussi appky, ale ne pro slozitejsi projekt. Jak bych napriklad mohl optimalizovat aplikaci pro ARKit nebo ARCore? Nemohl. Takze bych ty frameworky musel jako napsat znovu? Blbost.
L.
Re:
Ano Flutter není na všechno – jako vždy platí, že typ projektu by měl určovat použitou technologii a ne naopak. Mimochodem podle tvé definice mám na telefonu výhradně ty „nejjednodušší“ appky…
Re:
@Dafe Snad mi nechceš nakukat, že bys na 3D hru vzal Unity nebo nedejbože Unreal? Takhle se ten Android kamaráde nikdy nenaučíš.
Nativní API
Asi tedy doplním, že nativní API platforem lze z Flutteru volat, lze i naprogramovat kus kódu v jazyce platformy a Flutteru vystavit jen nějaké vlastní API. Říkají tomu Flutter plugin a řeší tím všechno od SQLlite, přes Bluetooth a gyro až po atd.
https://pub.dartlang.org/search?q=flutter+plugin
Jednoduše: skvělý
Nikdy jsem mobilní appky zkoušet nedělat, ale pracovat s Flutter mi přijde stejně přirozený, jako pracovat s AngularDart.
Funguje to. Všechno je widget, a tak mohu dělat nějrůznější věci, viz rotace celé aplikace. Převod AngularDart <–> Flutter je zřejmě docela snadný. A vypadá to, že ve Fuchsia půjdou psát UI ve Flutteru.
Momentálně vyvíjím jednoduchou hru a i přes počáteční nesnáze, plynoucí z neznalosti mobilního vývoje, jsem lehce vytvořil aplikaci, která opravdu něco dělá a funguje.
A to je důvod, proč za mne jednoduše skvělý!
vždycky to bude kompromis...
Je fakt, že Flutter je na iOS rychlý. Rychlejší než React native aplikace. A i u těch React native aplikací to s těmi nativními komponenty není zas tak slavné – někde se používají, někde ne.
Ale – furt to prostě není ono. Scrolování není stejné. A jsem moc zvědavý, jak budou pánové upravovat Hamilton na iPhone X. Výhoda nativního GUI je v tom, že s tímto počítá na úrovni knihoven.
Re: vždycky to bude kompromis...
Nazdár, ty tu seš taky? Hamilton – poznal bys, že to není native, když bys to nevěděl?
A kde je zádrhel v iPhone X?
Další Swing?
Díky za vysvětlení o co jde. Záleží na typu aplikace, hry proč ne, ale co businessové aplikace, formuláře, propojení na systém, přístupnost, podpora správců hesel nebo třeba automatizované testování UI? To vážně máme chtít další Swing, kde systémový look and feel je spíš ukázkové uncanny valley? Jakkoliv je obtížné mapovat přenositelnou logiku na nativní UI, je to pro velkou část aplikací lepší než kreslit na canvas.
Re: Další Swing?
Ale néééé, ty mi ty čtenáře úplně popleteš :-)
Na hry to primárně není – jasně, šlo by to, na nějaký 2D “bubbles” nebo tak. Ale kdo by to dělal, na to jsou lepší nástroje.
Ty osobně při vývoji Flutter aplikace pravděpodobně vůbec nepřijdeš s canvasem do styku (leda bys chtěl nějakou super custom componentu). Ty budeš používat widgety, které ve Flutteru jsou – pokud jsi OK s material designem. Ten totiž naimplementovali snad celý – všechny widgety, interakce, FABy a já nevím co.
A testability? Ta je s tím „Reactivním“ přístupem IMHO úplně jinde než u native Android app-ky, ale nechám se poučit.
Takže je to úplně naopak. Pokud chceš formulářovou “business app-ku”, tak Flutter je přesně ten nástroj, který na to chceš použít.
Re: Další Swing?
Pro formulářovou “business app-ku” tu mame PWA a Polymer. ;-)
Re: Další Swing?
No, tos vystihnul přesně, to je jedinná pochybnost, kterou mám. PWA je totiž dost mocné …
Tomuhle nerozumím. Nativní kód Androidu je Dalvik bytecode, tedy v podstatě něco jako Java bytecode. V případě Andoridu tedy Flutter.io kompiluje do Dalvik bytecode nebo do strojového kódu?
Re:
ARM stroják, IMHO nějak přes Android NDK, detaily ale neznám.
Přístupnost "canvas" aplikací?
A ještě tu nezaněla úderná otázka, kterou si teda položím sám.
Tomucho, když je to jen obrázek na canvasu, jak je to z přístupností takových aplikací?
Glad you asked! Nevím iOS, ale na Androidu implementovali accessibility API, takže OS má dobrou představu o tom, kde je jaký Flutter widget a jaký je jeho význam. Je to vidět v Adnroid Device Monitor, kde si můžu udělat snapshot view a zkoumat jeho strukturu. A i když je to jen obrázek, vidím tam kde je jaký prvek, co je text, co je scrollovací atd. Hustý!
Dart
Vypadá to jako důvod se Dartem zabývat. Na druhou stranu, takhle napsáno, nepůsobí moc důvěryhodně. Ta snaha dělat všechno od píky…. no já ti nevím ….. co čidla, specialitky dané platformy …
Re: Dart
Od píky je UI, ale API platformy je dostupné. Obvykle to už někdo zabalil do vkusného „pluginu“, např.:
https://pub.dartlang.org/packages/sensors
Flutter v czpodcast
Další informace můžete nabrat v czpodcast:
https://soundcloud.com/czpodcast-1/cz-podcast-180-dart-a-flutter