Builder pattern je anti-pattern?
Matt Caroll z FlutterBounty hunters vydal článek s neotřelou myšlenkou „Builder pattern nepatří do Widget stromu”. A my v Netglade částečně souhlasíme.
V předchozích Flutter Flash News jsme zmínili „Tailwind” pro Flutter – Fluttermix, který na Builder patternu staví. Faktem je, že tvoření Flutter widget tree tímto způsobem se stává méně přehledným, jelikož není dané jasné pořadí widgetů.
Stejně tak musíme přiznat, že i my občas rádi využijeme „builder” pattern, třeba skrz package flutter_animate.
Celý článek naleznete zde.
IDE budou opět chytřejší
Našeho vývojáře Honzu Bittnera přestalo bavit, že IDE nezvládne automatické odebrání widgetů u Column/Row anebo Sliverů. A proto se, jak se říká, „zdravě naštval” a do Dart SDK vytvořil Pull Request, který tuto podporu přidává GitHub - Pull Reguest #56638: feat: make remove widget work for slivers.
Snad se této úpravy co nejdříve dočkáme ve stable verzi. 🤞
Je const opravdu performance boost?
Nedávno se otevřelo zajímavé issue, které navrhuje odebrat lint pravidla na const z výchozího balíku pravidel. Proč? Const totiž nepřidává nijak významné zrychlení aplikace, a naopak velmi často vývojáře při vývoji brzdí.
Určitě jste také zažili situaci, kdy upravujete widget a půlka IDE najednou svítí červeně, protože některý nadřazený widget byl const a už být nemůže.
Osobně nám tyto linty příliš nevadí, zejména díky DCM a jeho automatickému opravování. Issue budu nicméně rád sledovat a jsem zvědavý, kam se diskuze posune.
Tvorba formulářů ve Flutteru je utrpení?
Jestli je něco ve Flutter zdlouhavé a ne moc příjemné, je to tvorba formulářů. A to formulář nemusí být nikterak složitý. Stačí požadavek na překlady chyb nebo validace inputu na základě vstupu z jiného.
Je třeba vytvořit Statefull widget, pro každý TextEditingController, a nezapomenout na dispose(). Můžeme si dopomoct i skrze flutter_hooks. Ale i s těmi narazíme. Brzy zjistíme, že potřebujeme některé inputy rozumně sdílet nebo minimálně jejich validace.
A nejsme v tom sami. Nedávno na Twitteru (X, pro nás navždy Twitter 😌) sdílel uživatel Casey Rogers tento tweet.
Diskuze pod příspěvkem poukazuje na podstatu problému – „vanilla” cesta není pohodlná a lidé hledají alternativy.
V Netglade už delší dobu používáme vlastní knihovnu na tvorbu formulářů – glade_forms. Obsahuje podporu fluent api pro definici validací, závislé validátory, překlady a spoustu dalšího.
Jako vždy budeme rádi, když jí dáte šanci. 😉
Tak na viděnou u halloweenského vydání. 🎃