Google представил фреймворк Flutter 2 и язык Dart 2.12

Материал из Викиновостей, свободного источника новостей
Перейти к навигации Перейти к поиску

4 марта 2021 года

Wikinews-logo-ru.svg

Компания Google представила фреймворк построения интерфейса пользователя Flutter 2, который ознаменовал трансформацию проекта из фреймворка для разработки мобильных приложений в универсальный фреймворк для создания любых типов программ, включая программы для настольных систем и web-приложения.

Flutter рассматривается как альтернатива React Native и позволяет на основе одной кодовой базы выпускать приложения для разных платформ, включая iOS, Android, Windows, macOS и Linux, а также приложений для запуска в браузерах. Ранее написанные на Flutter мобильные приложения после перехода на Flutter 2 смогут быть легко адаптированы для работы на рабочем столе и в Web без переписывания кода.

Основная часть кода Flutter реализована на языке Dart, а runtime-движок для выполнения приложений написан на C++. При разработке приложений, помимо родного для Flutter языка Dart, можно использовать интерфейс Dart Foreign Function для вызова кода на C/C++. Высокая производительность выполнения достигается благодаря компиляции приложений в машинный код для целевых платформ. При этом программу не нужно перекомпилировать после каждого изменения - Dart предоставляет режим горячей перезагрузки, позволяющий вносить изменения в работающее приложение и сразу оценивать результат.

В Flutter 2 заявлена полноценная поддержка создания приложений для Web, пригодная для рабочих внедрений. Упоминается три основных сценария применения Flutter для Web: разработка обособленных web-приложений (PWA, Progressive Web Apps), создание одностраничных web-приложений (SPA, Single page apps) и преобразование мобильных приложений в web-приложения. Из особенностей средств разработки для Web называется задействование механизмов ускорения отрисовки 2D и 3D-графики, гибкая компоновка элементов на экране и компилируемый в WebAssembly движок отрисовки CanvasKit.

Поддержка приложений для рабочего стола находится на стадии бета-тестирования и будет стабилизирована в этом году в одном из следующих выпусков. О поддержке разработки с использованием Flutter заявили компании Canonical, Microsoft и Toyota. Компания Canonical выбрала Flutter в качестве основного фреймворка для своих приложений и в том числе применяет Flutter при разработке нового инсталлятора для Ubuntu. Компания Microsoft адаптировала Flutter для складных устройств с несколькими экранами, таких как Surface Duo. Компания Toyota планирует использовать Flutter для автомобильных информационно-развлекательных систем. На основе Flutter также построена пользовательская оболочка развиваемой в Google микроядерной операционной системы Fuchsia.

Одновременно опубликован релиз языка программирования Dart 2.12, в котором продолжено развитие кардинально переработанной ветки Dart 2. Dart 2 отличается от изначального варианта языка Dart применением сильной статической типизации (типы могут выводиться автоматически, поэтому указание типов не является обязательным, но динамическая типизация больше не используется и вычисленный изначально тип закрепляется за переменной и в дальнейшем применяется строгая проверка типа).

Выпуск примечателен стабилизацией режима безопасного использования значения "Null" ( null safety), который позволят избежать крахов, вызванных попытками использования переменных, значение которых не определено и выставлено в "Null". Режим подразумевает, что переменные не могут иметь неопределённые значения, если им явно не присваивается значение null. В режиме строго учитываются типы переменных, что позволяет компилятору применять дополнительные оптимизации. Соответствие типов проверяется на этапе компиляции, например, в случае попытки присвоения значения "Null" переменной с типом, не подразумевающим неопределённое состояние, таким как "int", будет выведена ошибка.

Другим важным улучшением Dart 2.12 стала стабильная реализация библиотеки FFI, позволяющей создавать высокопроизводительный код из которого можно обращаться к API на языке Си. Добавлена новая интегрированная среда разработки и инструменты профилирования, написанные с использованием Flutter. Внесены оптимизации производительности и размера.

 

Источники[править]


OpenNET logo.png
Creative Commons
Эта статья содержит материалы из статьи «Google представил фреймворк Flutter 2 и язык Dart 2.12», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Cartoon Robot.svg
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
 

Комментарии:Google представил фреймворк Flutter 2 и язык Dart 2.12