当前位置: 首页 > 知识库问答 >
问题:

一个支持Flatter for Web和Flatter iOS/Android的代码库?

司空温书
2023-03-14

由于导入的原因,Web的颤振和移动的颤振似乎必须作为单独的项目存在。

例子:

import 'package:flutter_web/material.dart

vs

import 'package:flutter/material.dart';

不管怎样,是否有一个代码库构建一个既适用于web又适用于移动(ios/android)的flutter项目?如果没有,这会发生吗?如果是,您能提供一个示例应用程序吗?

我想只为网络和手机做一个代码库,而不必维护单独的项目/代码仓库。

共有1个答案

白宏放
2023-03-14

OP的问题有点旧,在发布时不再适用(7 / 21 / 2020)。Flutter现在已经将网络整合到主颤振包中,这可以防止我们遇到这样的导入问题。flutter_web不再是一个单独的软件包。

但是,即使在使用有条件导入发布问题时,您也可能能够完成此操作。这个答案提供了一个很好的方法来做到这一点。以下是该帖子的要点:

核心思想如下。

  1. 创建一个抽象类来定义您通常需要使用的方法。
  2. 创建特定于扩展此抽象类的webandroid依赖项的实现。
  3. 创建一个存根,它公开一个方法来返回这个抽象实现的实例。这只是为了让飞镖分析工具开心。
  4. 在抽象类中导入此存根文件以及特定于mobileweb的条件导入。然后在其工厂构造函数中返回特定实现的实例。如果编写正确,这将由条件导入自动处理。

这个方法允许你基于平台进行这些导入,并适用于所有可能不支持所有可能的flutter平台的包(例如dart:html,dart:js,dart:js_util,dart:io)。

 类似资料:
  • 问题内容: 在1.6版的android android.jar中访问联系人具有People.CONTENT_URI来调用与联系人相关的信息,而在更高版本中,我们需要对RawContacts.CONTENT_URI具有api支持。 例如,访问日历也是如此,因为在Android 2.2中更改了其URI。 是否有最佳实践来管理所有不同的更改,而无需添加其他应用程序或为每个版本的更改单独构建? 问题答案:

  • 功能矩阵 remote commit_push pull_request private_repo set_commit_status tag_build GitHub true true true true true Bitbucket true false true false true Coding true false true false true GitLab true false t

  • 一个支持多设备的Android参考应用 原文链接 : a-new-reference-app-for-multi-device 译文出自 : 开发技术前线 www.devtf.cn 译者 : Mr.Simple & Sophie.Ping 现在你可以把你的app的好用之处分享给你的用户,不管他们身处何地,手上拿着何种设备。今儿我们会发布一个参考示例,展示一下如何把这种服务运用到一个在多个Andro

  • 本文向大家介绍PHP实现一个二维码同时支持支付宝和微信支付的示例,包括了PHP实现一个二维码同时支持支付宝和微信支付的示例的使用技巧和注意事项,需要的朋友参考一下 实现思路 生成一个二维码,加入要处理的url连接 在用户扫完码后,在对应的脚本中,判断扫码终端,调用相应的支付 若能够扫码之后能唤起相应app,支付宝要用手机网站支付方式,微信要使用jsapi支付方式 效果展示 提示: 因为项目即将上线

  • 问题内容: 如果我想跨多个页面(如菜单)使用一个通用的UI,推荐的这样做方法是什么? 它包含模板代码和后端控制器(类似于LiftWeb框架中的“片段”)。 我知道有一个Play菜单模块,但我对总体上如何实现更感兴趣。 问题答案: 有两种方法可以将通用视图代码包含在Play框架中。 您可以使用标签或标签。 顾名思义,extends标签是从父视图扩展的。当您创建新的应用程序时,默认情况下,扩展标记用于

  • 当我构建到android时,有错误出来。你能帮忙解释一下错误是什么吗? 谢谢和问候,罗纳德·陈