Google oznámil, že ve Flutteru přestavěl Dart DevTools od nuly, aby vývojářům poskytl lepší výkon a větší všestrannost.
Flutter je a multiplatformní programovací rámec, jejímž cílem je vyřešit strasti vývoje aplikací pro různé platformy bez změti nenativního kódu. Se znalostí programovacího jazyka Dart může vývojář vytvářet aplikace pro Android, iOS, web a desktop s jednotným uživatelským rozhraním napříč všemi. Flutter 1.9 přinesl podporu macOS a Catalina ve stavu alfa, zatímco Verze 1.12 dozrála jejich podpora za pre-alfa stav a v1.17 pro Flutter a v2.8 pro Dart zaznamenali své první stabilní verze v roce 2020. Google dnes vydává novou verzi DevTools pro kód Dart a Flutter, která byla ve Flutteru od nuly přestavěna a přichází s několika vylepšeními.
V předchozím oznámení Google zmínil svůj záměr vyměnit současnou verzi Dart DevTools za novou verzi Flutter. To se nyní stalo, protože nové nástroje pro vývojáře byly ve Flutteru přestavěny od nuly. Tato nová verze DevTools přidává vylepšení, jako jsou změny na stránkách výkonu a paměti, stejně jako zcela novou síťovou stránku.
Proč ale něco přestavovat, když to stále funguje? Tým za Flutterem tvrdí, že výhody produktivity jsou důležité při budování vysokého výkonu Uživatelská rozhraní a nejlepší způsob, jak prokázat důvěru v tato tvrzení, je přijmout stejné nástroje oni sami. Rebuilding in Flutter také umožňuje vývojářům vybrat distribuční model po napsání kódu, který je odklon od současného vývojového diagramu rozhodování, kde by to diktoval distribuční model kód.
DevTools se dodává jako webová aplikace, která usnadňuje integraci nástroje do stávajícího prostředí nástrojů ve všech cílové platformy a IDE. DevTools je samostatná sada nástrojů, která běží v prohlížeči a funguje pro mobilní aplikace, desktopové aplikace a web. aplikace.
DevTools obsahuje následující funkce:
-
Flutter inspektor: nástroj pro vizualizaci a prozkoumávání stromů widgetů. Můžete si vybrat widgety v běžící aplikaci, zpomalit všechny animace, zobrazit účaří textu a další.
- Jednou z nových funkcí je Průzkumník rozložení, který najdete na kartě Flutter Inspector vedle stromu podrobností. Průzkumník rozložení vám umožňuje zkontrolovat model flexibilního rozložení Flutter. Tým uvádí příklad toho, jak může tento nástroj pomoci ladit, proč například řada widgetů nevypadá tak, jak vývojář očekával.
-
Zobrazení časové osy: zobrazuje časy sestavení pro každý snímek a graf plamenů. To usnadňuje identifikaci problematických snímků v kontextu.
- Tento panel nyní obsahuje nové tlačítko Track Widget Builds, které přidává časy sestavení všech widgetů v vaši aplikaci na časovou osu (na úkor výkonu vašeho sestavení profilu – takže to není zapnuté výchozí). To je užitečné, když se snažíte zjistit, které widgety přesně jsou za pomalým rámem.
-
Pohled do paměti: ukazuje, jak vaše aplikace v daném okamžiku využívá paměť.
- Toto zobrazení nyní ukazuje teplotní mapu přidělené paměti a umožňuje také sledování paměti platformy.
- Pohled na výkon: Toto je tradiční CPU profiler. Umožňuje vám zaznamenat relaci vaší aplikace a zjistit, ve kterých funkcích CPU strávil většinu času. Můžete se tak rozhodnout, kde budete trávit čas optimalizací.
- DevTools dokonce obsahuje své vlastní Debugger. To může být užitečné, pokud nepoužíváte IDE, ale přesto chcete možnost přidat zarážky, procházet kódem, nahlížet na hodnoty proměnných a tak dále.
- Zobrazení sítě: Toto je zcela nové.
- Jak už název napovídá, umožňuje vám kontrolovat síťový provoz. Můžete si prohlédnout celou historii požadavků, které vaše aplikace podala od svého spuštění, a získat podrobné informace o každém z nich. To vás osvobodí od nutnosti protokolovat tyto události sami při pokusu o ladění síťového problému.
- Karta Síť aktuálně zobrazuje provoz HTTP; budoucí vylepšení zahrnují zobrazování obecný soketový I/O provoz.
- Síťové požadavky se také zobrazují v zobrazení časové osy, takže je můžete vidět v kontextu.
- Zobrazení protokolování: zobrazuje události z vaší aplikace a rámce. S ním můžete snadno filtrovat zprávy (například můžete zadat "-gc" pro odfiltrování událostí Garbage Collector nebo "flutter.frame" pro zobrazení pouze rámcových událostí). V Dartu, protokolování zpráv lze strukturovata zobrazení Protokolování toho využívá.
Chcete-li plně využívat nástroje DevTools, můžete si přečíst dokumentace. Pokud najdete nějaké chyby nebo chcete hlasovat o nových funkcích, můžete tak učinit dále GitHub.