FLUTTER ECOSYSTEM

ashtanko/flutter_bloc_app_template

📦 一个强大的模板,用于使用 BLoC 模式构建 Flutter 应用程序,促进关注点分离并提高可维护性。非常适合希望实现可扩展状态管理解决方案的开发者。

flutter_bloc_app_template 项目封面
Stars
197
Forks
46
最近推送(UTC)
2026年9月16日
项目状态
未归档
Oleksii Shtanko GitHub avatar
GITHUB User

Oleksii Shtanko ↗

Senior Android Engineer. I am passionate about Android, Flutter and Golang

Lisbon, Portugal官方网站 ↗
语言DartMakefileRubyShellKotlinSwiftObjective-C

技术话题

使用的依赖

依赖清单 50 项

所在榜单

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

展开 / 收起项目 README

flutter-bloc-app-template 🤖

This is a basic Flutter project template that uses the BLoC pattern architecture for state management. It is a good starting point for creating a new Flutter app that uses BLoC for state management.

This template is focused on delivering a project with static analysis and continuous integration already in place.

style: lint codecov CI CodeFactor License style: effective dart GitHub forks GitHub stars Codacy Badge Codacy Badge

How to use 🐾

Just click on Use this template button to create a new repo starting from this template.

Features 🦄

  • Theme support
  • BLoC pattern bloc
  • Service Locator using get_it
  • Localization using intl
  • CI Setup with GitHub Actions
  • Codecov Setup with GitHub Actions
  • Unit test coverage
  • Integration tests

Configuration

The template has 3 flavors:

  • dev
  • prod
  • qa

The template has 3 build variants:

  • debug
  • profile
  • release

For example dev configuration for Android Studio looks like:

https://raw.githubusercontent.com/ashtanko/flutter_bloc_app_template/HEAD/preview/config/dev.png

  • dev: --flavor dev -t lib/main_dev.dart

Android Screenshots

https://raw.githubusercontent.com/ashtanko/flutter_bloc_app_template/HEAD/preview/android/launches_android_dark_theme.png https://raw.githubusercontent.com/ashtanko/flutter_bloc_app_template/HEAD/preview/android/launches_android_light_theme.png

https://raw.githubusercontent.com/ashtanko/flutter_bloc_app_template/HEAD/preview/android/messages_android_dark_theme.png https://raw.githubusercontent.com/ashtanko/flutter_bloc_app_template/HEAD/preview/android/messages_android_ligth_theme.png

iOS Screenshots

https://raw.githubusercontent.com/ashtanko/flutter_bloc_app_template/HEAD/preview/ios/launches_ios_dark_theme.png https://raw.githubusercontent.com/ashtanko/flutter_bloc_app_template/HEAD/preview/ios/launches_ios_light_theme.png

https://raw.githubusercontent.com/ashtanko/flutter_bloc_app_template/HEAD/preview/ios/messages_ios_dark_theme.png https://raw.githubusercontent.com/ashtanko/flutter_bloc_app_template/HEAD/preview/ios/messages_ios_ligth_theme.png

Static Analysis 🔍

This template is using analyzer

Supported Lint Rules

Supported Dart Code Metrics

Dart Lint

CI ⚙️

This template is using GitHub Actions as CI. You don't need to setup any external service and you should have a running CI once you start using this template.

How to build 🛠️

The Project uses FlutterGen to generate localizations, dependencies and mocks

Activate flutter_gen using dart pub global activate flutter_gen command if you haven't done that before.

after add export PATH="$PATH":"$HOME/.pub-cache/bin" to bash_profile

# clean project, install dependencies & generate sources
make

# generate localizations, dependencies, image assets, colors, fonts
make gen

# generate localizations
make localize

# analyze the project
check

Reminders 🧠

Change name in pubspec.yaml file

Remove anything you don't need

Configure analysis_options.yaml for your needs

Contributing 🤝

Feel free to open a issue or submit a pull request for any bugs/improvements.

License 📄

This template is licensed under the MIT License - see the License file for details. Please note that the generated template is offering to start with a MIT license but you can change it to whatever you wish, as long as you attribute under the MIT terms that you're using the template.