- PVSM.RU - https://www.pvsm.ru -
Корпорация Google продолжает развивать свои продукты. Несколько дней назад была представлена новая версия построения интерфейса пользователя Flutter 2 [1]. Она, по словам разработчиков, стала универсальным фреймворком, который позволяет разрабатывать любые типы программ. Это могут быть приложения как для десктопов, так и web-сервисы.
Flutter в процессе эволюции стал неплохой альтернативой React Native. Его главное достоинство — возможность на основе одной кодовой базы создавать приложения для разных платформ, включая iOS, Android, Windows, macOS и Linux. Плюс можно разрабатывать и чисто браузерные приложения. И да, обновление до 2 версии не влияет на поддержку продуктов, написанных на Flutter 1. Они без дополнительного редактирования кода могут быть адаптированы для работы на рабочем столе и в Web.
Большая часть кода Flutter реализована на языке Dart. Что касается runtime-движка, то он написан на С++. При разработке приложений можно использовать не только Dart, но и интерфейс Dart Foreign Function для вызова кода на C/C++. Благодаря компиляции приложений в машинный код для целевых платформ разработчики добились высокой производительности выполнения. И при этом программу не требуется перекомпилировать после каждого изменения. У Flutter есть режим горячей перезагрузки, который дает возможность вносить любые изменения в работающее приложения, сразу оценивая результат.
Во второй версии появилась полноценная поддержка создания приложений для Web, которая пригодна для рабочих внедрений. Есть три главных сценария применения Flutter для Web:
В описании второй версии упоминается также использование механизмов ускорения отрисовки двухмерной и трехмерной графики, плюс гибкая компоновка элементов на экране и компилируемый в WebAssembly движок отрисовки CanvasKit.
Поддержка приложений для рабочего стола уже реализована, но она находится на стадии бета-тестирования. Разработчики обещают запустить финальный вариант в одном из следующих выпусков. Flutter уже используют Canonical, Microsoft и Toyota. Так, компания Canonical использует Flutter в качестве главного фреймворка для разработки своих приложений. Например, фреймворк используется в новом инсталляторе для Ubuntu. Microsoft адаптировала Flutter для складных устройств с несколькими экранами, включая Surface Duo. Ну а Toyota будет использовать Flutter для создания автомобильных информационно-развлекательных систем. На основе Flutter построена еще и пользовательская оболочка ОС Fuchsia, о которой мы несколько раз писали.
Эта версия — продолжение радикально преобразованной ветки Dart 2. Отличия [2] от первой версии — использование сильной статической типизации, где типы могут выводиться автоматически. Динамическая типизация больше не используется, так что вычисленный изначально тип закреплен за переменной, так что в дальнейшем применяется строгая проверка типа.
В этом выпуске есть одно значительное дополнение — стабилизация режима безопасного использования значения «Null» (null safety). Теперь, после выхода из бета-версии, режим дает возможность избежать проблем, вызванных попытками использования не определенных и выставленных в «Null» переменных. В новой версии по умолчанию определено, что переменные не могут иметь неопределенные значения, если им не присваивается значение null. В этом режиме учитываются типы переменных, что дает возможность компилятору применять дополнительные оптимизации. Ну а соответствие типов проверяется еще на этапе компиляции. Пример — попытка присвоения значения «Null» переменной с типом, который не подразумевает неопределенное состояние.
Еще одно улучшение — выход стабильной версии библиотеки FFI, позволяющей создавать высокопроизводительный код, из которого можно обращаться к API на языке Си. Разработчики оптимизировали ее производительность и размер. Кроме того, они добавили инструменты для разработчиков и систему профилирования кода, которые написаны с использованием Flutter. Плюс добавлены новые плагины для разработки приложений на Dart и Flutter для Android Studio/IntelliJ и VS Code.
Автор: Артём Чирков
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/dart/362239
Ссылки в тексте:
[1] Flutter 2: https://developers.googleblog.com/2021/03/announcing-flutter-2.html
[2] Отличия: https://www.opennet.ru/opennews/art.shtml?num=54701
[3] Image: https://slc.tl/OdLgI
[4] Источник: https://habr.com/ru/post/545588/?utm_source=habrahabr&utm_medium=rss&utm_campaign=545588
Нажмите здесь для печати.