白标签化Flutter应用程序的更好方式是什么?

8

我有一个项目需要销售给另一个客户,因此我想找到一种方法来统一代码,这样当我发布更新时,我只需要操作一个代码(当然,保留每个客户的特定要求)

我发现了一篇文章在这里,这个人创建了一个名为“config”的新文件夹,并在其中设置一些变量以供父项目使用。我尝试了这个方法,但发现这将非常困难,因为第一个应用程序是根据一个客户的具体需求开发的,如果我要使所有方面都动态化,我需要花费太多时间...还有一个问题是Firebase,在第一个应用程序中我使用了Firebase,但在第二个应用程序中我不会用。如何实现呢?

在这篇文章中,他们提到了可以使用 “flavours” 来实现类似的效果。

有人知道这些方法,或者有其他方法可以达到我的目标吗?使用 "flavours" 比 "config" 重构的费用更少吗?

非常感谢任何帮助


1
你找到最好的方法了吗? - Fikret
1
我是通过不同的风味实现的。 - user14736790
@user14736790 你对结果满意吗? - criss_dev
1个回答

0

第三种方法是通过调用API获取客户端特定的主题,然后根据此设置Flutter主题,无需进行客户端特定的应用程序配置。

如果您需要Web支持,请参见以下内容:

首先,在index.html中更新不带白标签的资产,留下我们稍后填充的存根。例如:

接下来,在Flutter加载时显示一个漂亮的加载指示器。只需将其HTML放在index.html文件的body元素中即可实现。

最后,使用Flutter内部的JavaScript更新网页标题和favicon。我使用了包

universal_html: 2.0.8
https://pub.dev/packages/universal_html 然后您可以更新favicon

import 'package:universal_html/html.dart';

var favicon = document.getElementById('favicon'); favicon?.setAttribute('href','insertLinkToYourImage'); 可以通过各种常规方式完成更新标题,例如仅设置MaterialApp小部件的标题属性。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接