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

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

Flutter Fast Apps

目录

入门指南

激活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
邮箱/密码
Google - -
Apple - -

自动化

方法 Android iOS Web
Fastlane
GitHub Actions
Shorebird

Flutter快速

什么是Flutter快速?

Flutter快速CLI是一款用于生成具有所需一切功能的启动Flutter应用的工具。

Flutter快速堆栈具有意见性,以使第三方技术的选择更加灵活。因此,以下堆栈组件无论平台如何都会被使用:

同样,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_schemegoogle_fonts的支持
  • 包括从图像生成ColorScheme的样板代码
  • 设置config.json文件,用于与--dart-define-from-file运行参数一起使用
  • 包括在生成时设置应用和组织名称的支持
  • 添加json_serializablejson_annotation依赖项
  • 创建一个包含部署技巧的README.md文件(我总是忘记的东西)
  • 创建抽象的服务类以方便扩展
  • 运行flutter pub run build_runner build --delete-conflicting-outputsdart 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

1 回复

更多关于Flutter快速命令行工具插件flutter_fast_cli的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


flutter_fast_cli 是一个为 Flutter 开发者设计的命令行工具插件,旨在通过简化的命令快速生成常用的 Flutter 项目结构和文件,从而提高开发效率。它可以帮助开发者快速创建页面、组件、模型、服务等,减少手动创建文件的时间。

安装 flutter_fast_cli

  1. 全局安装: 你可以通过 Dart 的 pub 工具全局安装 flutter_fast_cli

    dart pub global activate flutter_fast_cli
    
  2. 验证安装: 安装完成后,你可以通过以下命令验证是否安装成功:

    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
回到顶部