Tento web používá soubory cookie. Dalším používáním webu s tímto souhlasíte.
jméno
heslo
přihlásit
zaregistrujte se
zapomněli jste heslo?
Flutter a Dart
LUCIEN
Flutter je novy toolkit od Googlu pro tvoreni hybridnich mobilnich aplikaci postaveny na Dartu. Pojdme diskutovat jak o Flutteru tak i Dartu.
Pokud jste v tom nejakou mobilni appku udelali, poslete odkaz. Dam to na nastenku :)

Zajimave odkazy

Máte k tomu co říct? Vložte se do diskuze.
MR_DAN --- 9:01:07 9.12.2019
dalsi poznatky, doufam ze nikomu nevadi, ze si tady delam odkladiste dojmu z poznavani nove technologie :-) kdyby to nekomu vadilo, tak me usmernujte

BLoC pattern vnimam jako oddeni business logiky do specialni komponenty, ktera je pak dobre testovana a to Rx a Streamy ze jsou jen specifikum pro tu BLoC library pro Flutter, ktera se pro state management pouziva - tak kdybych placal blbosti, tak je to jen z neznalosti nebo spatnyho chapani :-)
MobX samotnej se asi neda pouzit pro globalni state management, protoze ten store s tim stavem se v prikladech instanciuje v kazde screene, takze na mobx.pub pouzivaji Provider jako dependency injection, kterym si dodam do kterehokoliv widgetu tu jedinou instanci storu, kterou mam a to se zda byt docela vychvalovana kombinace.
pouzivani Provideru samotneho se zda ne moc efektivni, protoze notifyListeners (nebo jak se presne jmenuje ta funkce co se musi vzdycky volat) drzi uplne vsechny listenery a uplne vsechny je notifikuje, bez ohledu na to jestli chteji nebo ne, tak jak jich zacne byt vic, tak jsou udajne problemy s performance...

samozrejme se tim ta komplexita trochu zvedne, takze uz pomalu zacinam chapat i tu BLoC library :-) jen mi proste hrozne vadi, ze u te ten stav neni nikde drzeny - proste prolitne eventa, zpusobi pregenerovani widgetu a hotovo, nikde nezjistim co mam kde aktualne ulozene...
je to jen o nastaveni mindsetu, nebo je to vazne nevyhoda jak si myslim?
MR_DAN --- 10:41:41 8.12.2019
tak MobX co koukam taky nevypada zle - podle me je to cca to samy jak ten BLoC + Provider, mozna jeste o neco min boilerplate kodu (neco se tam generuje)
v zasade nejaka classa co drzi state (nad hodnotama toho stavu anotace @observable), pak v te same classe nejaka business logika (funkce s anotaci @action), tam vidim ten BLoC design pattern, a nakonec wrapper kolem widgetu (Observer) ktery zajisti, ze se do nich ten stav bude propagovat
tohle mi i jako zacatecnikovi s frontendovym vyvojem a reaktivnim programovanim prijde docela vpohode, to se da si predstavit jak to funguje celkem rychle
MR_DAN --- 20:30:33 7.12.2019
a s tim pecovanim ze strany Googlu... ja nevim, no, Angular uz neni moc uspokojivej... a kolik sluzeb kazdej rok odriznou
bylo by samozrejme fajn, kdyby to prorazilo poradne, to by se tomu fakt venovali dal a dlouho, ale Google je porad firma, ktera ma svuj management a politicky rozhodnuti a pokud to do nejaky doby Flutter neziska velkej podil na trhu, tak to nemusi dopadnout dobre .. a konkurence ve forme react-native neni zanedbatelna
MR_DAN --- 20:07:39 7.12.2019
???: blby je, ze state management si clovek musi vybrat hned na zacatku, coz treba pro nekoho, kdo nema predchozi zkusenosti (jako ja), je peknej orisek
co jsem tak procital ty internety, tak neni problem delat BLoc s Providerem dohromady ... pod tim odkazem cos posilal, jak jsou ty priklady na BLoc, tam k tomu akorat pouzivaj Rx a Streamy, coz je pro me hned zezacatku dost tezky na uchopeni, na druhou stranu muzu mit BLoC co drzi state a dava se tem screenam a widgetum pres Providera :-)

List of state management approaches - Flutter
https://flutter.dev/docs/development/data-and-backend/state-mgmt/options
taky nejaky seznam moznosti, jeden z maintaineru Provideru dokonce se nechal na twitteru slyset, ze MobX udajne taky neni uplne spatny .. rozhodne se planuju na nej podivat taky, at aspon vim o co jde
a Redux je samozrejme pry taky super volba, kdyz s nim umis a jsi na nej zvyklej, zejo (papouskuju toho Filipa)
??? --- 3:01:49 7.12.2019
MR_DAN: Tohle se mi na Flutteru prave libi - Google o nej fakt pecuje a hrne do nej mraky penez (viz Widget of the week). A hlavne - funguje. Delal jsem na ruznejch appkach od Apceleratoru, pres Phonegap nebo Starling a vsude bylo spousta problemu kolem. Tady vsechno jede jak po masle a performance je skvela. Jedinej problem je state, kterej chvili trva nejak pobrat. Filip pekne shrnul co si myslim o BLoCu a Provider vypada moc pekne. Ja sahnul po Reduxu, protoze mam pomerne dlouhou zkusenost s Vuexem, kterej z neho vychazi. Nicmene Provider zkusim priste.
MR_DAN --- 10:12:10 5.12.2019
https://www.youtube.com/watch?v=d_m5csmrf7I (Pragmatic State Management in Flutter (Google I/O'19))
hmm, na tohle jsem mel narazit driv, nez jsem si zacal motat hlavu s BLoCem
??? --- 5:13:38 5.12.2019
MR_DAN: Assety zlobi no. Je dobry pri nahrani novyho assetu refreshnout pubspec.yaml a dat hot restart.
MR_DAN --- 8:31:40 3.12.2019
???: tuhle hlasku to vyhazovalo, kdyz jsem poustel debug a mel jsem v pubspecu spatne nastavene assets ... ale mam pocit, ze uz jsem to videl i pri jinych pripadech, ktere potom skoncily chybou, takze myslim, ze animal sniffer bude nejaky error interceptor, nebo neco kolem chyb

a pokousim se o jednoduchou chatovaci appku nad firebase, spis se to naucit...
protoze si dam na linkedin do summary, ze mi nevadi uspinit si ruce od frontend/mobile vyvoje (jinak jsem spis server-side java) a ze se rad naucim Flutter/Dart a hned me nahani recruiterka at to jdu delat jako primarni napln prace ze to nevadi, ze se to budu ucit za behu :-D
tak to jsem jeste odmitnul, ale jinak vidim znacne vyhody v tom, umet krome backendu delat i frontendy, mobilni appky uz jsou podle me skoro nutnost
??? --- 23:27:03 2.12.2019
MR_DAN: No a o co se pokousis?
MR_DAN --- 14:50:55 2.12.2019
ERROR: [TAG] Failed to resolve variable '${animal.sniffer.version}'

...ja nevim proc se do toho vubec poustim, to je nejaka uchylarna