Супер подробный, реальный опыт создания веб-приложений с Flutter 2.0|Технический обзор

внешний интерфейс Flutter
Супер подробный, реальный опыт создания веб-приложений с Flutter 2.0|Технический обзор

предисловие

Я давно не занимался разработкой Flutter, но впервые обратил внимание на Flutter, потому что слышал, что он может разрабатывать iOS, Android и Web через терминалы. Только когда я увидел выпуск Flutter 2.0 на прошлой неделе, я понял, что кросс-веб-сторона была просто стабильной...

Тогда давайте проверим на практике: надежно ли Flutter публиковать веб-приложения?

Начать веб-сборку

Используйте следующую команду, чтобы включить поддержку веб-сборки

flutter config --enable-web

После открытия мы можем снова войти в конфигурацию флаттера, чтобы увидеть

image.png

Создать новый проект

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

image.png

Даже если проекту не требуется поддержка построения веб-сайта, нет необходимости отключать эту поддержку, просто не используйте команду для построения веб-сайта.

Открытая веб-поддержка старых проектов

По сути, это перенастройка текущего проекта.

flutter create .

Отладка веб-стороны

Если другая среда терминала недоступна, используйте следующую команду, чтобы напрямую скомпилировать веб-терминал и открыть хром для отладки.

flutter run

image.png

Скомпилируйте и выпустите веб-сторону

Когда Flutter создает веб-приложения, вы можете выбрать два режима рендеринга. Позвольте мне показать вам следующее.Пожалуйста, внимательно посмотрите на часть, которую я отметил красной рамкой на скриншоте.

Режим HTML рендеринга

flutter build web --web-renderer html

image.png

Когда мы используем режим рендеринга html, флаттер будет использовать пользовательский элемент HTML, CSS, Canvas и SVG для рендеринга элементов пользовательского интерфейса.

image.png

преимущество:

  • Меньший размер приложения

недостаток:

  • плохая производительность рендеринга
  • Может быть нарушена согласованность кросс-энда

Режим рендеринга Canwaskit

flutter build web --web-renderer canvaskit

image.png

Когда мы используем режим рендеринга canvaskit, флаттер компилирует Skia в формат WebAssembly и рендерит с использованием WebGL. Приложение единообразно для мобильных и настольных компьютеров, имеет более высокую производительность и снижает риск несогласованного рендеринга в разных браузерах. Но размер приложения увеличится примерно на 2 МБ.

image.png

преимущество:

  • Межконечная согласованность на уровне пикселей
  • лучшая производительность рендеринга

недостаток:

  • Размер приложения становится больше, и нужно загрузить файл размером 2,5 МБ.webaseemblyкод формата

Существует также режим автоматического рендеринга (по умолчанию), который автоматически выбирает режим рендеринга в зависимости от того, работает ли он в мобильном браузере или браузере настольного компьютера.

В заключение

С выпуском Flutter 2.0 этот фреймворк с [полноплатформенной кросс-консистентностью на уровне пикселей] привлечет больше внимания. Несмотря на то, что результаты компиляции на стороне Интернета в настоящее время все еще почти бессмысленны в соответствии с отечественными стандартами веб-опыта, независимо от того, какой метод рендеринга, их действительно стоит ожидать.

Подписывайтесь на меня

Старый программист, который является дизайнером, но любит программировать


Последние статьи (Спасибо за вашу поддержку и поддержку 🌹🌹🌹)


Эта статья участвует в «Весенней рекрутинговой кампании Nuggets 2021», нажмите, чтобы просмотретьсведения о деятельности