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

Flatter WEB:我们如何为Flatter应用程序提供单个代码库

帅德惠
2023-03-14

我们有一个适用于Android的单一代码库

截至目前,Flutter SDK不支持某些库/插件。

为了缓解这些问题,我们维护了两个单独的存储库,一个用于 Android-iOS,另一个用于 Web。

另外,在这里加起来,对于单独的存储库,因为每个Flutter产品都有一个唯一的pubspec.yaml文件。现在有一些插件目前在App中受支持,但在Flutter Web上尚未支持,即Awesome Notifications,Clevertap插件等。

在网络上集成这些插件会停止网络运行。因此,为两者保持相同的代码库在技术上变得复杂,因为应用程序有许多功能。

在Web上同时测试、调试和解决问题需要花费大量时间。

因此,我们如何为所有平台(即Android、iOS)维护相同的代码

共有1个答案

谢俊英
2023-03-14

理想情况下,您希望使用单个代码库来托管Web和移动版本,以最大限度地减少代码维护并提高效率。为此,您需要能够找到运行代码的平台,以便可以通过编程方式调用代码。

您可以使用常量kIsWeb来检查应用程序是否为Web编译,然后如果您在支持它的平台上,您可以使用该条件仅运行特定于平台的代码(例如awesome_notifications包)。这样,您仍然可以导入所需的包,但只有当应用程序在您的应用程序的移动版本上运行时才能调用它们。

这将允许您将代码库压缩到一个存储库中,而不会牺牲可能无法跨所有平台工作的任何功能。

 类似资料:
  • 问题内容: 我从没想过这会是Node.js和Express的问题,但是我一时发疯,我决定在浏览器中输入Node.js Express项目中一个源文件的位置-类似于: http://www.mywebsite.com/mynodejsapp/app.js 令我 极为震惊的是 ,我的应用程序的源代码突然弹出,可供所有人查看。 因此,除了:我如何在Node.js / Express中停止它? 我的设置代

  • 我知道如何使用Java编码,但我是Neuroph的新手,我用这些代码得到了一个。 Main:https://pastebin.com/dntwrmzn 经理:https://pastebin.com/cswsivvt

  • 我已在单独的Weblogic域中成功配置了SAML 2.0身份提供程序 我们在另一个域的Weblogic中部署了一个ADF应用程序,该应用程序具有非SAML基于表单的身份验证(ReadOnlySQLAuthenticator用于验证凭据) 我想将第二个域配置为服务提供者(以使现有应用程序能够使用身份提供者登录)。 我做了以下工作: 配置SAML 2.0 Identity Asserter 在服务器

  • 如果HTTP POST返回一个HTTP 403禁止,但对HTTP GET有效,那么问题很可能与CSRF有关。提供CSRF令牌或禁用CSRF保护(不推荐)。 那么,a怎么能做到这一点呢?

  • hybris为面值提供了Solr Sort属性。我可以在HMC中看到每个solr项属性,我们可以设置它的排序行为。 我想用弹劾来设定这种类型。有一个属性(字符串类型),它保存着所选提供者的值,因为我必须在Impex中提供字符串类型,这样它才能工作。 请帮忙。

  • 如果我创建一个提供者并将其绑定到一个类,就像这样 然后