Google обяви, че са възстановили Dart DevTools от нулата във Flutter, за да предоставят на разработчиците по-добра производителност и по-голяма гъвкавост.
Flutter е a крос-платформена програмна рамка, целящ да реши проблемите при разработването на крос-платформени приложения без бъркотията от чужд код. С познаване на езика за програмиране Dart, разработчикът може да създава приложения за Android, iOS, уеб и десктоп с унифициран потребителски интерфейс за всички. Трептене 1.9 доведе поддръжката на macOS и Catalina в алфа състояние, докато Изданието v1.12 разви поддръжката им след пре-алфа състоянието и на v1.17 на Flutter и v2.8 на Dart отбелязаха първите си стабилни издания през 2020 г. Днес Google пуска нова версия на DevTools за код на Dart и Flutter, която е възстановена от нулата във Flutter и идва с няколко подобрения.
В предишното съобщение Google спомена намерението си да замени текущата версия на Dart DevTools с нова версия на Flutter. Това вече се случи, тъй като новите DevTools бяха възстановени от нулата във Flutter. Тази нова версия на DevTools добавя подобрения като промени в страниците за производителност и памет, както и изцяло нова мрежова страница.
Но защо да възстановявате нещо, когато все още работи? Екипът зад Flutter твърди, че ползите от производителността са важни при изграждането на висока производителност потребителски интерфейси и най-добрият начин да демонстрирате доверие в тези твърдения е да приемете същите инструменти за себе си. Повторното изграждане във Flutter също позволява на разработчиците да изберат модел на разпространение след написването на кода, който е отклонение от текущата блок-схема за вземане на решения, при която моделът на разпространение би диктувал код.
DevTools се доставя като уеб приложение, което улеснява интегрирането на инструмента в съществуващото изживяване с инструменти във всички целеви платформи и IDE. DevTools е самостоятелен пакет от инструменти, който работи в браузъра и работи за мобилни приложения, настолни приложения и уеб приложения.
DevTools включва следните функции:
-
Flutter Inspector: инструмент за визуализиране и изследване на дървета с джаджи. Можете да избирате уиджети във вашето работещо приложение, да забавяте всички анимации, да виждате базовите линии на текста и др.
- Една от новите функции е Layout Explorer, която можете да намерите в раздела Flutter Inspector до Details Tree. Layout Explorer ви позволява да инспектирате гъвкавия модел на оформление на Flutter. Екипът дава пример за това как този инструмент може да помогне за отстраняване на грешки защо ред от джаджи не изглежда по начина, по който разработчикът е очаквал, например.
-
Изглед на времевата линия: показва времето за изграждане за всеки кадър и диаграма на пламъка. Това улеснява идентифицирането на проблемни кадри в контекста.
- Този панел вече включва новия бутон за проследяване на изграждането на джаджи, който добавя времена за изграждане на всички джаджи в вашето приложение към времевата линия (за сметка на производителността на изграждането на вашия профил—така че не е включено до по подразбиране). Това е удобно, когато се опитвате да разберете кои точно джаджи са зад бавен кадър.
-
Изглед на паметта: показва ви как приложението ви използва паметта в даден момент.
- Този изглед вече показва топлинна карта на разпределената памет и позволява проследяване на паметта на платформата.
- Изглед на ефективността: Това е традиционен инструмент за профилиране на процесора. Позволява ви да запишете сесия на вашето приложение и да видите в кои функции процесорът е прекарал по-голямата част от времето си. Можете да използвате това, за да решите къде да прекарате времето си в оптимизиране.
- DevTools дори включва свои собствени Дебъгер. Това може да бъде полезно, ако не използвате IDE, но все пак искате опцията за добавяне на точки на прекъсване, преминаване през код, надникване в стойностите на променливи и т.н.
- Мрежов изглед: Това е напълно ново.
- Както подсказва името му, той ви позволява да проверявате мрежовия трафик. Можете да видите цялата история на заявките, направени от приложението ви от стартирането му, и да получите подробна информация за всяка от тях. Това ви освобождава от необходимостта да регистрирате тези събития сами, когато се опитвате да отстраните грешки в мрежата.
- Разделът Мрежа в момента показва HTTP трафик; бъдещите подобрения включват показване общ I/O трафик на сокет.
- Мрежовите заявки също се показват в изгледа на хронологията, така че можете да ги видите в контекст.
- Изглед на регистриране: показва събития от вашето приложение и рамката. С него можете лесно да филтрирате съобщения (например можете да укажете "-gc", за да филтрирате събитията на Garbage Collector или "flutter.frame", за да показвате само събития от рамка). В Dart, регистриране на съобщения могат да бъдат структурирани, а изгледът за регистриране използва това.
За да използвате напълно DevTools, можете да прочетете документация. Ако откриете грешки или ако искате да гласувате за нови функции, можете да го направите нататък GitHub.