Flutter 是否有一个代码库支持Flitter for Web和Flitter iOS/Android?

Flutter 是否有一个代码库支持Flitter for Web和Flitter iOS/Android?,flutter,flutter-web,Flutter,Flutter Web,看起来,由于导入,Web的颤振和Mobile的颤振必须作为单独的项目存在 例如: import'程序包:flatter\u web/material.dart vs 导入“包装:颤振/材料.省道”; 有没有办法用一个既适用于网络又适用于移动设备(ios/android)的代码库来构建一个颤振项目?如果没有,这会发生吗? 如果是,你能提供一个示例应用程序吗 希望只为web和移动设备创建一个代码库,而不必维护单独的项目/代码回购。OP的问题有点老,在发布时不再适用(2020年7月21日)。Fla

看起来,由于导入,Web的颤振和Mobile的颤振必须作为单独的项目存在

例如:

import'程序包:flatter\u web/material.dart
vs

导入“包装:颤振/材料.省道”;
有没有办法用一个既适用于网络又适用于移动设备(ios/android)的代码库来构建一个颤振项目?如果没有,这会发生吗? 如果是,你能提供一个示例应用程序吗


希望只为web和移动设备创建一个代码库,而不必维护单独的项目/代码回购。

OP的问题有点老,在发布时不再适用(2020年7月21日)。Flatter现在已经将web整合到主Flatter包中,这可以防止我们遇到这样的导入问题<代码>Flatter_web不再是一个单独的包

但是,即使在您发布带有条件导入的问题时,您也可能已经能够完成这一点。提供了执行此操作的极好方法。以下是该职位的要点:

其核心思想如下

  • 创建一个抽象类来定义通常需要使用的方法
  • 创建特定于扩展此抽象类的
    web
    android
    依赖项的实现
  • 创建一个存根,该存根公开一个方法来返回此抽象实现的实例。这只是为了让dart分析工具满意
  • 在抽象类中,将此存根文件与特定于
    mobile
    web
    的条件导入一起导入。然后在其工厂构造函数中返回特定实现的实例。如果写入正确,这将由条件导入自动处理
  • 此方法允许您基于平台进行这些导入,并适用于可能不支持所有可能的颤振平台的所有包(例如,dart:html、dart:js、dart:js_util、dart:io)