Вышли ожидаемые релизы от Google: Flutter 2 и язык Dart 2.12

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!


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

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

Новшества во Flutter 2


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

Во второй версии появилась полноценная поддержка создания приложений для Web, которая пригодна для рабочих внедрений. Есть три главных сценария применения Flutter для Web:
  • Разработка обособленных web-приложений (PWA, Progressive Web Apps).
  • Создание одностраничных web-приложений (SPA, Single page apps).
  • Преобразование мобильных приложений в web-приложения.

В описании второй версии упоминается также использование механизмов ускорения отрисовки двухмерной и трехмерной графики, плюс гибкая компоновка элементов на экране и компилируемый в WebAssembly движок отрисовки CanvasKit.


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

Язык программирования Dart 2.12


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

В этом выпуске есть одно значительное дополнение — стабилизация режима безопасного использования значения «Null» (null safety). Теперь, после выхода из бета-версии, режим дает возможность избежать проблем, вызванных попытками использования не определенных и выставленных в «Null» переменных. В новой версии по умолчанию определено, что переменные не могут иметь неопределенные значения, если им не присваивается значение null. В этом режиме учитываются типы переменных, что дает возможность компилятору применять дополнительные оптимизации. Ну а соответствие типов проверяется еще на этапе компиляции. Пример — попытка присвоения значения «Null» переменной с типом, который не подразумевает неопределенное состояние.


Еще одно улучшение — выход стабильной версии библиотеки FFI, позволяющей создавать высокопроизводительный код, из которого можно обращаться к API на языке Си. Разработчики оптимизировали ее производительность и размер. Кроме того, они добавили инструменты для разработчиков и систему профилирования кода, которые написаны с использованием Flutter. Плюс добавлены новые плагины для разработки приложений на Dart и Flutter для Android Studio/IntelliJ и VS Code.

Источник: https://habr.com/ru/company/selectel/blog/545588/


Интересные статьи

Интересные статьи

Поезд null safety мчится вперёд, уже почти официально анонсирован Flutter 2.0 (подключайтесь к предстоящему Flutter Engage), экосистема Dart тоже не стоит на месте. Мы пе...
Здравствуйте! Меня зовут Андрей. Больше известен, как #кодеротбога (это самоирония). Я осваиваю Flutter в режиме «live-code», уже 567 трансляций. Без купюр – «from zero to hero», начиная ...
Всем привет! Не так давно на работе в рамках тестирования нового бизнес-процесса мне понадобилась возможность авторизации под разными пользователями. Переход в соответствующий р...
Для всех хабравчан, у которых возникло ощущение дежавю: Написать этот пост меня побудили статья "Введение в Python" и комментарии к ней. К сожалению, качество этого "введения" кхм… не будем о гру...
26 февраля команда Flutter анонсировала первый стабильный продуктовый релиз — Flutter 1.2. Всех, кого интересует, что нового принесло обновление — прошу под кат.