Как перенести мобильное приложение флаттера в веб флаттера - PullRequest
1 голос
/ 11 июня 2019

У меня есть мобильное приложение, написанное на flutter, и я хотел бы преобразовать его в приложение flutter_web (интеграция flutter_web пока недоступна). У меня сейчас проблемы с пакетами.

Я следовал инструкциям на этом сайте https://www.codemitter.com/how-to-add-web-counterpart-in-an-existing-flutter-project/

Я получаю следующие ошибки

webdev could not run for this project.
You have a dependency on `cached_network_image` which is not supported for flutter_web tech preview. See https://flutter.dev/web for more details.
You have a dependency on `cloud_firestore` which is not supported for flutter_web tech preview. See https://flutter.dev/web for more details.
You have a dependency on `cupertino_icons` which is not supported for flutter_web tech preview. See https://flutter.dev/web for more details.
You have a dependency on `firebase_core` which is not supported for flutter_web tech preview. See https://flutter.dev/web for more details.
You have a dependency on `flutter` which is not supported for flutter_web tech preview. See https://flutter.dev/web for more details.
You have a dependency on `path_provider` which is not supported for flutter_web tech preview. See https://flutter.dev/web for more details.
You have a dependency on `sqflite` which is not supported for flutter_web tech preview. See https://flutter.dev/web for more details.
pub finished with exit code 78

версии flutter_web для следующих плагинов? Как можно вручную / автоматически изменить такой плагин, который будет поддерживаться на flutter_web?

Ответы [ 2 ]

1 голос
/ 11 июня 2019

Плагины еще не поддерживаются на flutter_web, и у нас пока нет подробной информации о том, как будет выглядеть история миграции. Плагины, которые обращаются к нативному коду Java или Swift, не могут быть перенесены автоматически. Любой код, который импортирует dart:io или dart:isolate, также не поддерживается и должен быть переписан.

0 голосов
/ 19 июня 2019

Действия при переходе на Flutter Web:

  1. обновить конфигурацию сборки в соответствии с руководством по миграции

  2. заменить все импортированные флаттеры на flutter_web

  3. удалить все плагины, которые зависят от собственных платформ (android или ios) и заменить их эквивалентами из dart: html или чисто веб-библиотек dart (https://pub.dev/web)

  4. используйте разветвленные ненативные библиотеки, которые зависят от флаттерного фреймворка, например, https://github.com/rrousselGit/provider/issues/82, вам может потребоваться создать сам форк, например: https://github.com/kevmoo/provider/commit/bb739c96463347dd185331655e1d8895665172b9

Шаги 1. и 2. это кусочек торта. Но 3. и 4. могут быть очень болезненными.

...