Flutter快速命令行工具插件flutter_fast_cli的使用
Flutter快速命令行工具插件flutter_fast_cli的使用


目录
入门指南
激活CLI:
dart pub global activate flutter_fast_cli
创建一个在线应用(并加入Flutter快速社交网络):
fast app
创建一个不包含Flutter快速Firebase设置的在线应用:
fast app --fresh
创建一个离线应用:
fast app --offline
这些命令会提示你输入应用名称(例如my_app
)和组织名称(例如com.example
)。
生成的应用包含了所有第三方服务的代码,因此可能会显得臃肿(例如,不要将此代码发布)。一旦你决定使用哪些服务,你可以删除未使用的代码。
对于使用特定服务的模板,请查看cotr.dev/flutter-faster。
它是什么?
Flutter快速CLI用于生成一个在线或离线应用。
在线应用支持以下所有第三方平台:
- Firebase
- Supabase
- Appwrite
- Pocketbase
- Amplitude
- Posthog
- Sentry
- Fastlane
- GitHub Actions
- Shorebird
- RevenueCat
离线应用是一个不依赖任何第三方服务的简化版本的在线应用。
生成应用后,你可以通过修改运行应用时使用的dart-define
变量来控制使用哪些平台。例如,要运行一个使用Firebase和Amplitude的应用,可以运行:
flutter run --dart-define=PAAS=firebase --dart-define=analytics=amplitude
Flutter快速社交
默认情况下,由fast app
命令生成的应用包含连接到官方Flutter快速Firebase项目的firebase_options.dart
文件。安装应用以访问[专属的]Flutter快速社交网络。
如果你想要创建一个使用自己的Firebase项目的项目,请在fast app
命令中添加--fresh
标志。
请注意,Flutter快速应用经常变化,并且所有消息和数据都可能随时被删除。
命令
通用命令
命名 | 描述 |
---|---|
app |
使用逐步向导创建一个新的Flutter快速应用 |
build |
运行dart run build_runner --delete-conflicting-outputs |
update |
更新flutter_fast_cli |
要开始,请访问官方文档!
文档
查看API文档以获取以下主题的详细信息:
功能
A/B测试
方法 | Remote Config | Posthog |
---|---|---|
特征标志 | ✅ | ✅ |
字符串值 | ✅ | ✅ |
分析
方法 | Amplitude | Posthog | Firebase Analytics |
---|---|---|---|
事件 | ✅ | ✅ | ✅ |
用户属性 | ✅ | ✅ | ✅ |
用户属性(一次性设置) | ✅ | ✅ | - |
认证
方法 | Firebase | Supabase | Appwrite | Pocketbase |
---|---|---|---|---|
邮箱/密码 | ✅ | ✅ | ✅ | ✅ |
✅ | ✅ | - | - | |
Apple | ✅ | ✅ | - | - |
自动化
方法 | Android | iOS | Web |
---|---|---|---|
Fastlane | ✅ | ✅ | ✅ |
GitHub Actions | ✅ | ✅ | ✅ |
Shorebird | ✅ | ✅ | ✅ |
Flutter快速
什么是Flutter快速?
Flutter快速CLI是一款用于生成具有所需一切功能的启动Flutter应用的工具。
- 🔒 通过Firebase、Supabase、Appwrite或PocketBase进行身份验证
- 🌊 通过Amplitude或Posthog进行分析
- 📊 通过Firebase Remote Config或Posthog进行A/B测试
- 🤖 通过Sentry进行崩溃报告
- 🏎️ 通过Fastlane进行CI/CD
- 🚀 更多功能!
Flutter快速堆栈具有意见性,以使第三方技术的选择更加灵活。因此,以下堆栈组件无论平台如何都会被使用:
- 使用auto_route进行导航
- 使用get_it和injectable进行服务
同样,Flutter快速应用使用一致的项目结构:
├── 📁 lib/
│ ├── 📁 app
│ ├── 📁 features
│ │ ├── 📁 featureOne
│ │ └── 📁 featureTwo
│ │ ├── 📁 models
│ │ ├── 📁 ui
│ │ │ ├── 📄 two_view.dart
│ │ └── 📁 services
│ └── 📄 main.dart
├── 📄 CHANGELOG.md
├── 📄 pubspec.lock
├── 📄 README.md
为什么选择Flutter快速?
我创建了Flutter快速CLI来解决我自己的两个问题。
更快的设置
没有什么比花6个小时设置一个启动项目更能打击我的积极性。我希望直接进入编码的乐趣并更快地发布产品。
Flutter快速CLI几乎处理了创建用户应用所需的大部分繁琐设置。最耗时的部分是在设置外围工具(如Firebase、Supabase、Amplitude等)。
减少锁定
我喜欢实验。我喜欢写关于不同技术栈的文章并了解竞争工具的工作原理。因此,Flutter快速CLI的第二个目标是创建一个不会依赖单一平台的工具。虽然CLI仍在开发中,但已经有一些示例供使用:
- 选择使用Firebase、Supabase、Pocketbaso或AppWrite作为PaaS
- 在分析方面选择Amplitude或Posthog
- 在崩溃报告方面选择Sentry或Firebase Crashlytics
你可以在路线图中查看我们计划支持的其他平台。
多快?
以下是Flutter快速CLI为你做的部分事情的不完全列表:
- 设置登录、注册、忘记密码和配置文件屏幕
- 使用Google和Apple进行SSO
- 添加带有暗模式切换的设置屏幕
- 添加新用户在创建账户时看到的简单引导视图
- 使用auto_route、go_router或原生导航器创建路由,并将其添加到你的MaterialApp
- 引入基于认证的导航和路由保护
- 创建一个
get_it
实例 - 使用
injectable
自动注册服务(可选) - 添加
analysis_options.yaml
文件 - 根据配置值创建完整的
pubspec.yaml
文件,包括必要的依赖项 - 添加flutter_launcher_icon包和代码片段,以便快速更换logo(包括在iOS上移除alpha通道的逻辑)
- 设置Sentry进行崩溃报告
- 添加基本的调试NavigationObserver到路由
- 创建有用的TextStyle和BuildContext扩展
- 创建
constants.dart
文件,其中包含可重用的填充和间距值 - 添加带有预配置运行配置的bash脚本,用于Fastlane和常见的Flutter任务
- 包含带有Flutter安全方法的Android和iOS Fastlane文件(不会覆盖$(FLUTTER_BUILD_NUMBER))
- 添加
multiDexEnabled = true
到app/build.gradle - 执行发布签名设置,并创建空的
key.properties
文件 - 包括package_info_plus文件,并在主页抽屉中添加版本字符串
- 包括对flext_color_scheme和google_fonts的支持
- 包括从图像生成ColorScheme的样板代码
- 设置
config.json
文件,用于与--dart-define-from-file
运行参数一起使用 - 包括在生成时设置应用和组织名称的支持
- 添加json_serializable和json_annotation依赖项
- 创建一个包含部署技巧的
README.md
文件(我总是忘记的东西) - 创建抽象的服务类以方便扩展
- 运行
flutter pub run build_runner build --delete-conflicting-outputs
和dart format .
,以便项目立即可用
Flutter更快
fast app
命令几乎为你提供了所有你需要发布的跨平台Flutter应用…但有时这还不够。Flutter更快砖块包是一个不断扩大的Mason砖库,可以加速你的开发过程。有30多个砖块用于添加功能、屏幕和亮点:
- 订阅服务(fast_subscriptions)
- 用户反馈屏幕(fast_feedback)
- Google地图设置(google_maps_flutter)
- 生物识别登录(fast_biometrics)
- 预构建的RSS订阅模块
- 预构建的AI聊天模块(仅适用于Firebase构建)
- 一个可以与Firestore、Supabase、Pocketbase或Appwrite无缝工作的通用反馈功能
- 为订阅应用添加账单依赖到app/build.gradle
- 更多功能…
要获取所有砖块,以及终身更新和未来添加的所有砖块,请查看我们的网站!
示例代码
<b><a href="https://github.com/CodeOTR/flutter_fast_cli/blob/main/example/main.dart" rel="noopener noreferrer nofollow" target="_blank">example/main.dart</a></b>
void goFast() {
print('Go fast!');
}
更多关于Flutter快速命令行工具插件flutter_fast_cli的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter快速命令行工具插件flutter_fast_cli的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
flutter_fast_cli
是一个为 Flutter 开发者设计的命令行工具插件,旨在通过简化的命令快速生成常用的 Flutter 项目结构和文件,从而提高开发效率。它可以帮助开发者快速创建页面、组件、模型、服务等,减少手动创建文件的时间。
安装 flutter_fast_cli
-
全局安装: 你可以通过 Dart 的
pub
工具全局安装flutter_fast_cli
:dart pub global activate flutter_fast_cli
-
验证安装: 安装完成后,你可以通过以下命令验证是否安装成功:
flutter_fast_cli --version
如果显示了版本号,说明安装成功。
使用 flutter_fast_cli
flutter_fast_cli
提供了多个命令来快速生成 Flutter 项目中的各种文件。以下是一些常用的命令:
1. 生成页面
flutter_fast_cli generate page <page_name>
这个命令会在 lib/pages
目录下生成一个新的页面,包含 page_name.dart
文件和一个对应的 page_name_controller.dart
文件(如果使用了状态管理工具如 GetX
)。
2. 生成组件
flutter_fast_cli generate widget <widget_name>
这个命令会在 lib/widgets
目录下生成一个新的组件,包含 widget_name.dart
文件。
3. 生成模型
flutter_fast_cli generate model <model_name>
这个命令会在 lib/models
目录下生成一个新的模型类,包含 model_name.dart
文件。
4. 生成服务
flutter_fast_cli generate service <service_name>
这个命令会在 lib/services
目录下生成一个新的服务类,包含 service_name.dart
文件。
5. 生成路由
flutter_fast_cli generate route <route_name>
这个命令会在 lib/routes
目录下生成一个新的路由文件,包含 route_name.dart
文件。
6. 生成完整的模块
flutter_fast_cli generate module <module_name>
这个命令会在 lib/modules
目录下生成一个完整的模块,包含页面、组件、模型、服务等文件。
自定义配置
flutter_fast_cli
允许你通过配置文件自定义生成文件的路径和模板。你可以在项目根目录下创建一个 flutter_fast_cli.yaml
文件来配置生成规则。
例如:
paths:
pages: lib/features/{module}/pages
widgets: lib/features/{module}/widgets
models: lib/features/{module}/models
services: lib/features/{module}/services
routes: lib/features/{module}/routes
其他命令
-
帮助信息:
flutter_fast_cli --help
-
查看版本:
flutter_fast_cli --version