Google представила кроссплатформенный фреймворк для разработки пользовательских интерфейсов Flutter

логотип flutter

В рамках конференции Mobile World Congress 2018 разработчики из Google анонсировали запуск бета-версии фреймворка для создания мобильных интерфейсов Flutter. В первую очередь он позиционируется как основная UI-архитектура для работы с программами на языке Dart, вторая версия которого уже вышла в бета.

Что умеет Flutter?

Flutter предназначен для разработчиков мобильных приложений любого уровня. На данном этапе развития фреймворк готов предложить своим пользователям:

  • функцию горячей перезагрузки с отслеживанием состояния;
  • набор готовых и настраиваемых элементов управления, коллекцию библиотек с анимациями;
  • поддержку скринридера;
  • быстрый рендеринг и возможность кроссплатформенной разработки с использованием инструментов IntelliJ, Android Studio и Visual Studio Code.

Дерево виджетов и демонстрационная страница, созданная с помощью Flutter

Технические детали

Flutter-приложения можно запустить на iOS и Android, при этом инструмент как бы немного отходит от традиционных представлений в UI-фреймворках обеих операционных систем. Flutter не компилируется напрямую в iOS- и Android-приложения. Они запускаются на смешанном инструменте из движка для рендеринга на C++ и фреймворка Flutter на Dart. Полученные таким образом файлы подцепляются к каждому приложению, и SDK собирает из этого готовую программу под конкретную платформу.

Такой подход называется разработкой приложений методом «видеоигр». Так же, как игра игнорирует почти весь программный фреймворк и основную работу перекладывает на свой движок, приложения на фреймворке от Google заменяют flutter-элементами все возможные части нативных фреймворков.

От этого страдает компактность: «пустая» программа на Flutter под Android «весит» примерно 6,7 МБ. Однако такое приложение работает быстро — отрисовка кадров происходит со скоростью до 60 FPS, что нечасто встречается в ПО для Android-девайсов.

Кроссплатформенная разработка в случае с Flutter не означает ухудшения качества программных продуктов. Фреймворк предоставляет все нативные виджеты интерфейсов Android (Material Design) и iOS (Cupertino) и сам умеет изменять поведение отдельных элементов, чтобы программы максимально соответствовали привычному пользователям опыту использования.

виджеты ввода и выбора в UI Material Design

Помимо кроссплатформенных возможностей Flutter предоставляет функцию раздельной компиляции файлов в режиме разработки. Вместо AoT-компилятора для готового продукта JiT-компилятор позволяет увеличить скорость создания и отладки программ. Более того, фреймворк от Google поддерживает около тысячи плагинов, включая SQLite, Firebase, Facebook Connect и GraphQL. А ещё он позволяет сочетать код Flutter с элементами стандартных языков разработки приложений под конкретную платформу.

Как сообщает Google, Flutter уже используется многими мобильными разработчиками. К приложениям, созданным на этом фреймворке, относятся финская социальная сеть Hookle и официальное приложение мюзикла «Гамильтон». Фреймворк активно применяется и самой Google. Например, он заложен в интерфейс рекламной платформы AdWords.

Три телефона со скриншотами программ, построенных на основе Flutter

Напомним, что Google активно разрабатывает собственную операционную систему Fuchsia, интерфейс которой создан на основе Flutter. В январе компания уже опубликовала инструкцию по установке ОС на пользовательские устройства.

Источник: блог Google Developers

Ещё интересное для вас:
Тест: что вы знаете о работе мозга?
Базовый чек-лист по SEO перед сдачей сайта заказчику
Что посмотреть и куда сходить разработчку — ближайшие события