Крос-платформеното пърхане и дартс се стремят към стройност и нулева безопасност онлайн

Рамката Flutter 1.17 разчита на Metal под iOS, а езикът за програмиране Dart 2.8 носи разширено управление на пакета и подготвя нулева безопасност.

дартс

Google пусна езика за програмиране Dart във версия 2.8 и съответната междуплатформена рамка Flutter 1.17. Излизанията изглеждат с добри два месеца закъснение, тъй като всъщност е планирана фаза на тримесечно обновяване. Основната причина, посочена от екипа на Flutter, е пренастройката на процеса на освобождаване.

Фактът, че дартсът и пърхането се появяват в двойна опаковка, вече е стандартната процедура. През декември 2019 г. Google също публикува стабилните версии Dart 2.7 и Flutter 1.12 заедно. Flutter е рамка за създаване на междуплатформени приложения, които в допълнение към приложенията за мобилни платформи на iOS и Android, сега покриват и уеб приложения.

За целта се разчита на езика за програмиране Dart, който Google веднъж пусна като алтернатива на JavaScript, но който след първоначалната еуфория беше далеч по-малко успешен като общ език от други подходи като TypeScript на Microsoft. Най-късно след публикуването на Dart 2.0 езикът се концентрира върху използването в рамката на Flutter.

Метал за Flutter

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

също прочетете

Основната иновация за мобилната операционна система на Apple е преминаването към Metal API. За по-стари устройства без графичен интерфейс на Apple, т.е. такива със SoC (система на чип) преди A7 или с операционна система, по-стара от iOS 10, Flutter продължава да използва OpenGL. Често задавани въпроси във Flutter Wiki предоставят някои отговори за взаимодействието на рамката с Metal.

Нови джаджи в материалния дизайн

Екипът на Flutter разшири и системата за дизайн на материали на Google. Flutter 1.17 носи, наред с други неща, приспособление NavigationRail за навигация, което е създадено предимно за отзивчив дизайн и може да бъде адаптирано към различни дизайни за мобилни и настолни приложения.

Има и някои допълнения към съществуващите приспособления: DatePicker е адаптиран към актуализираните насоки за дизайн на материали за мобилни календари. Разработчиците на Flutter също са разширили връзката към шрифтовете чрез TextStyles. Освен това, благодарение на Fonts for Flutter, шрифтовете на Google вече могат лесно да се интегрират. Проектът достигна версия 1.0.0 в края на април.

Пакетна услуга за дартс

Подобренията за Dart 2.8 са насочени главно към екосистемата за пакети. Пабът за управление на пакети вече може да изтегля паралелно няколко пакета, за да подобри производителността. Той също така носи новата подкоманда остаряла.

Това прави възможно намирането на версии, които все още не са изброени в описанието на pubspec. В допълнение към текущо инсталирания вариант на пакети, командата показва най-новия, както и последния разрешен ъпгрейд, който потенциално е зададен от ключалка, както показва следният пример от блога на Flutter:

Резултатът показва, че в допълнение към актуализираната версия 2.1.0 за bar, е налична нова основна версия, която може да се използва чрез адаптиране на файла pubspec.yaml. След като направи съответните промени и актуализира чрез надстройка на pub, мениджърът на пакети трябва да изплюе съобщение за успех:

Нула не влиза тук

В средносрочен план Dart ще получи разширена нулева безопасност: Разширението на типовата система въвежда променливи, които винаги не могат да бъдат обезсмислени. Тъй като компилаторът и средата на изпълнение могат да разчитат на тези променливи, като в този случай никога нямат стойност нула, те могат да направят подходящи оптимизации.

Преминаването ще доведе до някои пробивни промени, които ще доведат до несъвместимост в съществуващите приложения. Според екипа по дартс обаче са засегнати само няколко приложения. Проблем в GitHub изброява промените за Null Safety и свързаните с тях проблеми със съвместимостта.

Разбира се

Като цяло Google вижда Flutter и Dart по пътя към успеха. В публикация в блога от края на април се споменават общо 2 милиона разработчици, които досега са използвали Flutter. Около 500 000 разработчици активно използват Flutter всеки месец. Екипът на Dart говори за 10 000 пакета, налични в директорията на пакетите pub.dev.

Допълнителни подробности за новите версии можете да намерите в съобщението на Dart 2.8 и съобщението на Flutter 1.17. Както езикът за програмиране, така и платформата за различни платформи са проекти с отворен код, за които в GitHub съществуват хранилища. (rme)