Google пуска Flutter 1.17 и Dart 2.8 SDK за разработка на приложения

Google пусна актуализации на SDK за Flutter и Dart, носейки цял набор от подобрения за унифицирано развитие на различни платформи. Прочетете за повече!

Flutter е a крос-платформена програмна рамка, целящ да реши проблемите при разработването на крос-платформени приложения без бъркотията от чужд код. С познаването на езика за програмиране Dart, разработчикът може да създава приложения за Android, iOS, уеб и десктоп с унифициран UI изглед във всички. Трептене 1.9 донесе поддръжката на macOS и Catalina в алфа състояние, докато Изданието v1.12 разви поддръжката им след пре-алфа състоянието. Сега Google излезе с нова версия v1.17 на Flutter и версия v2.8 на Dart, отбелязвайки ги като първите стабилни версии за Flutter и Dart през 2020 г.

Трептене 1.17

Миналия месец Google имаше обяви промени в процеса на пускане. В по-ранния процес на компанията липсваше яснота кога ще бъдат изградени версиите, какъв код ще има в него и т.н. Сега Google планира да доставя стабилни версии на приблизително всеки тримесечие. Това само по себе си постави няколко предизвикателства, тъй като инфраструктурата за издаване трябваше да бъде преработена за новия процес на издаване. Сега Flutter 1.17 се пуска в стабилния канал за разработчици. Google затвори 6339 въпроса от предишното им издание на Flutter 1.12 и те затвориха повече грешки, отколкото бяха отворени тази година, което доведе до нетен спад от ~800 въпроса.

В допълнение към корекциите на грешки, Flutter 1.17 носи значителни подобрения в производителността, подобрена поддръжка за Metal на iOS и включва нови уиджети за Material.

Подобрения в производителността

Приложенията, създадени с Flutter 1.17 в сравнение с по-старите версии, ще видят 20-37% ускорение за случая на навигация по подразбиране, в който има непрозрачни маршрути без прозрачност. Има и значително подобрение в размерите на приложенията, създадени с Flutter 1.17. Например извадката на Flutter Gallery сега е 8,1 MB през 2020 г. спрямо 9,6 MB в края на 2019 г. За използване на паметта версията 1.17 носи 70% намаление на паметта при бързо превъртане през големи изображения.

Метал е графичен API от ниско ниво на Apple, който осигурява почти директен достъп до основния GPU на iOS устройства. Flutter вече използва Metal по подразбиране, когато създава за поддържани iOS устройства, което кара приложенията на Flutter да работят по-бързо. Подобрената поддръжка на Metal подобрява скоростите на изобразяване на приложения за iOS средно с около 50%. На устройства с iOS, които не поддържат напълно Metal, а именно устройства с версии на iOS по-ниски от 10 и пуснати преди процесора A7, Flutter се връща към OpenGL.

Flutter 1.17 добавя поддръжка за нови джаджи Material. Има и актуализации на съществуващи джаджи. Например, NavigationRail помага на разработчиците да добавят адаптивни навигационни модели към приложенията и е страхотно за приложения, които могат да превключват между мобилни и десктоп формфактори. Приспособленията за препълване на DatePicker и TextSelection също са актуализирани: новите визуални елементи на DatePicker съответстват на актуализираните указания за материалите и добавят нов режим на въвеждане на текст, докато TextSelection вече има подобрена прецизност за iOS и Android, когато бутоните са по-дълги, отколкото могат да бъдат показани без преливащ. И накрая, Google също така доставя новия пакет за анимации, който предоставя предварително изградени анимации, прилагащи новата Материално движение спецификация.

Други промени във Flutter 1.17

  • Google завърши внедряването на Типова скала част от спецификацията на материалния дизайн за 2018 г без да нарушава съществуващите приложения на Flutter.
  • Google шрифтове за Flutter v1.0 също вече е наличен. Това позволява на разработчиците да експериментират и да използват всеки шрифт от fonts.google.com в тяхното приложение. Разработчикът може да реши дали да обедини шрифта с APK или потребителят да получи шрифта, като го изтегли от API.
  • Google подобри достъпността на приложенията Flutter с поправки за превъртане, текстови полета и други уиджети за въвеждане.
  • Google също се готви да замени текущата версия на Dart DevTools с новата версия на Flutter. Разработчиците могат да тестват тази нова версия, като стартират DevTools и след това щракнат върху иконата „прекъсвач“ в горния десен ъгъл на DevTools. Най-голямото подобрение в новата версия на Flutter на Dart DevTools е новият раздел Мрежа, който показва мрежовия трафик за вашето приложение Flutter, когато натиснете бутона „Запис“.
  • Друго подобрение е експериментална опция за „бързо стартиране“, която ви позволява да започнете отстраняването на грешки в приложението Flutter до 70% по-бързо, когато създавате приложение за Android.

Google също така поздравява екипа на Superformula за преработването на целия Приложение MGM Resorts за Android във Flutter.


Дартс 2.8

Dart е езикът за програмиране, използван за създаване на приложения във Flutter. С пускането на Dart 2.8 SDK, Google въвежда няколко промени:

  • Подобрения на кръчма клиентски инструмент, който се използва за управление на пакети, изтеглени от хранилище на пакети pub.dev.
    • Google подобри ефективността на кръчма получите чрез добавяне на поддръжка за паралелно извличане на пакети и отлагане кръчма предкомпилация.
    • Google добави и нов инструмент (кръчма остаряла), за да се гарантира, че зависимостите на пакета се поддържат актуални.
  • Подготовка за безопасност на Sound null, тъй като null препратките са често срещан източник на сривове на приложения, които се случват, когато кодът се опита да прочете променлива, която има null стойност.
    • Google се готви да добави поддръжка за звукова нулева безопасност в Dart, което ще гарантира, че всички изразени променливи съдържат ненулеви стойности.
    • Внедряването на звукова нулева безопасност е огромно начинание, което първоначално ще причини прекъсвания в езика и библиотеките Dart. Google иска разработчиците да знаят тези счупващи промени и да подават всякакви проблеми по тях проследяване на проблеми.

Можете да прочетете повече за тези и други промени в подробности в съобщенията за Flutter 1.17 и Dart 2.8.