这是我用于生产应用程序的 Flutter 初始模板,适用于带有 REST 后端的项目。
这个模板的主要目的是让你能够尽快开始下一个生产就绪的 Flutter 项目,而无需处理初始项目设置的所有麻烦。
这是一个简单的样板模板,用于创建生产就绪的 Flutter 应用程序,包括图标/启动屏幕生成、REST 样板以及报告(分析、性能和崩溃报告),所有这些都已为你配置好。
由于大家在状态管理和应用架构方面有些过于固执己见,这个模板不对这些主题做出任何意见。
因此,这不是你的状态管理和应用架构模板。 所以,你可以选择任何状态管理方法或移动东西来创建你喜欢的架构。
或者 fork 这个仓库,根据你的喜好自定义模板,使其成为你自己的!
也就是说,我可能会考虑在未来创建包含我的架构和状态管理观点的分支。
获取模板
通过以下方式之一使用此仓库创建你的项目:
"Use this template" 按钮,这将允许你使用此仓库作为基线创建项目,或者安装依赖
运行 flutter pub get 获取依赖项。
应用程序包名
现在要在 Android 和 iOS 清单中更改应用程序的包名/捆绑标识符,请运行 flutter pub run change_app_package_name:main <com.new.package.name>。
应用程序名称
接下来,你需要更改应用程序的用户可读标签 - Info.plist(对于 iOS)中的 CFBundleName 和/或 CFBundleDisplayName,以及 AndroidManifest.xml(对于 Android)中应用程序节点的 android:label 字段。
很遗憾这一步是手动的;如果 change_app_package_name 能为你做这个就好了。
注意:你还需要在 pubspec.yaml 中更改包的 name 和 description
应用图标
然后我们将使用 flutter_launcher_icons 包自动生成你的应用启动器图标。
assets/icon/icon.png。flutter pub run flutter_launcher_icons。这个命令将从 PNG 文件为不同的 DPI 自动生成 Android 和 iOS 启动器图标,并将它们放置在各自的资源目录中。注意:查看包文档以获取有关生成启动器图标的更多配置选项,并相应地更新你的 pubspec.yaml。
例如,你可能想要为不同平台使用不同的图标,因为 Android 允许你使用透明图标,而 iOS 不允许。
然而,此模板中包含的默认配置在大多数情况下已经足够。
启动屏幕
然后我们将为两个平台生成原生启动屏幕,你的应用将在加载完成之前显示这些屏幕,为此我们将使用 flutter_native_splash。
assets/splash/splash.png。pubspec.yaml 中的 flutter_native_splash -> color 部分,输入你喜欢的颜色代码。默认是白色。flutter pub run flutter_native_splash:create 以从启动图像生成资源并更新你的清单文件。环境变量
我们将使用 envied 包 从 .env 文件加载应用程序配置。
这将允许我们在不同环境(如生产、暂存或调试模式)下运行应用程序时轻松切换不同的应用程序配置。
所有 .env 文件都可以放在项目的根目录中。
要设置新环境,创建一个带有 .env 扩展名的新文件(例如 .env 或 debug.env 或 staging.env),然后复制 .env-sample 的内容并根据需要填充它。
lib/env.dart 文件将环境变量导入到应用程序中。查看文档以了解如何使用 envied 包。
要混淆和隐藏敏感的 ENV 变量,请使用 obfuscate 属性,如下所示:@EnviedField(obfuscate: true)。
注意: 所有 .env 文件(和 envied 的 env.g.dart 文件)默认都被 .gitignore 忽略,因为它们可能包含敏感信息,如路径、密钥等。
要指定新的环境变量键,请将它们添加到 .env-sample 文件中,其他开发人员将复制该文件,并提供相应的配置。
Firebase 报告
在这一步中,我们将把不同的 Firebase 报告工具集成到你的应用程序中,包括 Firebase Analytics、Firebase Performance 和 Crashlytics。
GoogleService-Info.plist 和 google-services.json,并将它们放入 iOS 和 Android 的相应文件夹中。我已经在 .gitignore 中忽略了这些文件,这样你就不会不小心将它们检入版本控制系统。注意:
待办事项
在 lib 文件夹中查找任何 TODO,并解决它们。
开始工作!
现在开始开发你的应用程序。祝你编码愉快。
部署
在发布 Android 应用之前,请确保通过以下方式签名:
如果你还没有,生成一个 Keystore 文件。如果你已经有了,忽略这一步,转到下一步。
转到 android/key.properties 并包含你的 Keystore 路径、别名和密码。
盈利!
.env 文件加载配置。fromJson() 和 toJson() 需求。

企业专属的AI法律顾问
iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频


实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。


选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


最强AI数据分析助手
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。


像人一样思考的AI智能体
imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。


AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。


一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号