- Заметки
- Flutter для Windows
За последние 30 дней: 13 просмотров, 12 посетителей.
Flutter для Windows
Для создания качественных приложений Windows, работающих также и на мобильных платформах и для WEB.
Перевод статьи Announcing Flutter for Windows
С самого запуска Flutter, одной из наших основных задач стало предоставление кросс-платформенного решения для красивых, адаптированных приложений, скомпилированных в машинный код и в полной мере использующих основное графическое оборудование вашего устройства. Сегодня мы значительно приблизились к этой цели с первым релизом поддержки операционной системы Windows в качестве платформы, что позволяет разработчикам для Windows быть продуктивными и использовать всю мощь Flutter, как и мобильные разработчики.
Flutter должен дать своим пользователям все необходимые инструменты для создания отличного приложения, вне зависимости от того, на какую операционную систему оно будет ориентированно. Поэтому мы хотим использовать одни и те же инструменты и базовый фреймворк во всех местах, где вы, возможно, захотите рисовать пиксели. Flutter дает возможность создавать красивое впечатление от использования, где ваш бренд и дизайн выходят на первый план. Он работает быстро — компилируется непосредственно в машинный код; с поддержкой горячей перезагрузки с отслеживанием состояния вы получаете производительность интерактивной среды, которая позволяет вносить изменения во время работы приложения и сразу же видеть результаты. И Flutter открыт, тысячи контрибьюторов расширяют основной фреймворк с помощью экосистемы пакетов.
Flutter использует уже примерно пол миллиона приложений.
До сих пор мы наблюдали динамику, которая превзошла все ожидания: сейчас выпущено почти полмиллиона приложений, использующих Flutter, включая крупные приложения от таких компаний, как Betterment, BMW и ByteDance, а также приложения от тридцати команд Google. По данным таких аналитиков, как Statista и SlashData, в 2021 году Flutter стал самым популярным кроссплатформенным набором инструментов пользовательского интерфейса:
Данные нашей команды это подтверждают: во всех ежеквартальных опросах за 2021 год 92% разработчиков Flutter получили положительное впечатление об инструментах Flutter. (Конечно же, мы прислушиваемся к отзывам и мнениям остальных 8%).
Одним из самых популярных запросов была поддержка Windows.
И сегодня мы рады объявить о полной доступности приложений Windows для Flutter в стабильных сборках.
Windows и Flutter
Несколько лет назад команда Flutter изложила амбициозную концепцию по расширению от мобильных приложений для iOS и Android до других платформ, включая WEB и десктоп.
Основа Flutter распространяется на разные платформы: от портативного графического движка Skia с аппаратным ускорением до системы рендеринга Flutter; основные примитивы, такие как анимация, тематика, ввод текста и интернационализация; и сотни виджетов, которые предлагает Flutter.
Однако, приложения на компьютере — это не просто мобильные приложеня, запущенные на большом экране. Они спроектированы для различных устройств ввода, к примеру, мышь и клавиатура; они обладают различными оконными режимами; у них существуют разные конвенции для критичных вещей, таких как специальные возможности, редакторы методов ввода и визуальные стили: а также они взаимодействуют в различными API в основной операционной системе — приложения для ПК поддерживают все, от средств выбора файловой системы до оборудования устройства и хранилищ данных, таких как реестр Windows.
Так что было бы недостаточным просто перенести Flutter на Windows, необходимо было адаптировать его.
Как и с поддержкой Android и iOS, имплементация Flutter для Windows сочетает в себе фреймворк Dart и движок C++. Windows и Flutter взаимодействуют через встраиваемый слой, на котором размещен механизм Flutter и который отвечает за перевод и отправку сообщений Windows. Flutter координируется с операционной системой, чтобы отобразить ваш пользовательский интерфейс на экране, обрабатывает такие события как изменение размера окна и изменения DPI и работает с существующими модальностями Windows для интернационализации, такими как редакторы методов ввода.
В Windows Flutter использует точно такой же код Dart, но использует нативные API-интерфейсы Windows.
Ваше приложение может использовать каждую часть фреймворка Flutter,а при работе с Windows оно также может общаться с API Win32, COM и Windows Runtime либо напрямую через уровень взаимодействия Dart С, либо при помощи платформенного плагина, написанного на C++. Мы также адаптировали для работы с Windows несколько популярных плагинов, в том числе camera, file_picker и shared_preferences. Что более важно, сообщество уже добавило поддержку Windows широкому спектру других пакетов, начиная с интеграции с панелью задач Windows и до доступа к последовательному порту.
Уже существуют сотни пакетов, адаптированных для поддержки приложений Flutter, созданных для Windows.
Для полностью адаптированного пользовательского интерфейса Windows вы также можете использовать такие пакеты, как fluent_ui и flutter_acrylic, чтобы создать приложение, которое соответствующе выражает систему дизайна Microsoft Fluent. А с помощью инструмента msix вы можете обернуть свое приложение установщиком, который можно загрузить в Microsoft Store в Windows.
В совокупности это помогает создать приложения, которые отлично выглядят в Windows, быстро работают и при этом имеют возможность переноса на другие настольные или мобильные устройства, а также в Интернет. Вот несколько ранних примеров:
Примеры приложений Windows, созданных при помощи Flutter, в том числе Harmonoid и Rows.
Microsoft and Flutter
Команда Windows не осталась в стороне и поделилась своим мнением о поддержке Flutter. Вот что говорит Кевин Галло, корпоративный вице-президент по центру разработки Windows в Microsoft:
«Мы рады видеть, что Flutter добавляет поддержку создания приложений для Windows. Windows — открытая платформа, и мы приветствуем всех разработчиков. Мы рады видеть, что разработчики Flutter привносят свой опыт в Windows, а также публикуют его в Microsoft Store. Поддержка Flutter для Windows — это большой шаг для сообщества, и нам не терпится увидеть, что вы принесете в Windows!»
Действительно, несколько команд из Microsoft внесли свой вклад в сегодняшнее объявление. В частности, мы хотели бы выразить благодарность команде дизайнеров Fluent за их вклад в создание иконок для приложений Flutter в Windows. Их пакет fluentui_system_icons был удостоен статуса Flutter Favorite, что свидетельствует о его качестве.
Мы также были впечатлены вкладом Microsoft в обеспечение специальных возможностей для Windows, и мы благодарны этой команде за помощь в обеспечении того, чтобы Flutter поддерживал программы чтения с экрана. Было бы ошибкой отвергать доступность как необходимое требование. Как показано на этой диаграмме из набора инструментов Microsoft для инклюзивного дизайна, у всех нас есть причины заботиться о предоставлении возможностей, которые адаптируются к различным постоянным, временным или ситуативным потребностям.
На видео ниже показано, как Flutter интегрирует с Windows Narrator. Мы намеренно сделали экран размытым, чтобы дать вам представление о том, насколько ценна эта функция для пользователей, которым она нужна.
Работа приложения для чтения с экрана Narrator с приложениями Flutter.
Экосистема инструментов для разработки приложений под Windows
Наши партнеры по инструментам также добавляют поддержку Windows. Вот несколько:
- FlutterFlow, инструмент разработки приложений Flutter с low-code, объявил о поддержке Windows, а также о функциях, которые помогут разработчикам Flutter создавать приложения, адаптированные для использования на персональном компьютере.
- Realm —быстрое локальное хранилище данных. Недавно выпущенная последняя версия теперь поддерживает создание приложений Windows с помощью Flutter с быстрым доступом к основной базе данных с помощью Dart FFI.
- Nevercode обновил инструмент Codemagic CI/CD, и теперь вы можете создавать и тестировать приложения Windows в облаке, а развертывание вашего приложения в Microsoft Store стало автоматическим.
- Syncfusion обновил свой набор виджетов, чтобы в полной мере использовать возможности Windows. Если вы подпишетесь на их набор инструментов, вы найдете компоненты визуализации данных, такие как древовидные карты и диаграммы, виджет с богатой сеткой данных, календари и даже поддержку создания PDF и таблиц Excel.
- Наконец, Rive анонсировали грядущую версию своего популярного набора графических инструментов для Windows, позволяющую дизайнерам и разработчикам создавать интерактивные векторные анимации, которые могут реагировать на код в режиме реального времени с помощью стейт-машины. Предстоящая версия их приложения для Windows предлагает невероятно высокую производительность и меньший объем потребляемой памяти и скоро будет доступна для загрузки в Microsoft Store.
Нам очень приятно видеть сформировавшуюся экосистему, построенную вокруг Flutter, и мы рекомендуем вам ознакомиться с каждым из этих партнеров, когда вы начнете создавать приложения для Windows с помощью Flutter.
Поддержка Windows появилась во Flutter 2.10
Стабильная поддержка производственного качества для создания приложений Windows доступна как часть Flutter 2.10. Эта версия также включает множество других функций, улучшений производительности и исправлений ошибок, которые более подробно описаны в отдельном посте.
В ближайшем будущем мы планируем улучшить стабильную поддержку macOS и Linux, что сделает ваши приложения Flutter доступными для любых платформ: веб, мобильных и десктопных.
Благодарим за поддержку Flutter и с нетерпением ждем ваших приложений для Windows!
Подборка заметок