搜索插件、代码仓与 APP 分类

elementary 封面
插件详情v3.2.1

elementary

这是一个架构库,主要目标是将代码按不同职责层进行拆分,使代码清晰、简洁、易读且易于测试。

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
2330
喜欢数
189
Pub 分数
160

安装插件

flutter pub add elementary

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

Elementary 是一个 Flutter 架构库,旨在通过责任层来组织代码,促进清晰性、简洁性和可测试性。它通过结构化模式强制实现关注点分离,使应用程序更易于维护和扩展。通过将业务逻辑与 UI 解耦,它支持干净、易读的代码库,非常适合团队协作和长期开发。该库可无缝集成到所有主要平台的 Flutter 生态系统中。

适合场景

  • 构建可扩展的 Flutter 应用程序
  • 提高代码可维护性
  • 启用更简单的单元测试和小部件测试
  • 支持团队协作开发工作流程
  • 创建模块化和可重用的组件

主要特点

  • 分层架构(UI、逻辑、数据)
  • 内置状态管理
  • 易于测试的设计
  • 跨平台兼容性
  • 关注点的清晰分离
  • 与现有 Flutter 项目轻松集成

适合对象

  • 寻求结构化应用架构的开发者
  • 重视代码质量和可测试性的团队
  • 需要长期可维护性的项目
  • Flutter 初学者学习最佳实践
  • 大规模应用开发

使用建议

  • 需要理解架构模式
  • 可能增加初始设置开销
  • 最适合中大型项目
  • 不太适合非常简单或一次性使用的应用
  • 除了核心示例外,文档有限

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

Flutter Elementary repository

Elementary Logo

Owner Pub Version Coverage Status Pub points Pub Likes Downloads Contributors License

Description

This repository is a home to packages and tools from the Elementary library family.

Package Version
elementary Pub Version
elementary_helper Pub Version
elementary_test Pub Version
elementary_cli Pub Version

Elementary Overview

Elementary is a simple and reliable way to build applications with MVVM in Flutter. Benefits of using Elementary include:

  • Maximum Flutter-like: You don't need to spend a lot of time learning the library if you are already familiar with the standard Flutter approaches.
  • Code separation by responsibility: Splitting code into different layers reduces coupling, making the code simpler and more readable.
  • High testability: All layers, from widgets to business logic, are highly testable.
  • Team efficiency: It boosts speed for teams consisting of more than one person, due to the easy sharing of independent task parts among team members.

Documentation

Learn more at our website with documentation.

Environment

To reduce the amount of boilerplate and manual work, Elementary offers a few options:

Examples

  • Country: A general example of how to use Elementary for development.

  • Elementary with Redux: An example of how to use Elementary with Redux.

  • Profile: An example demonstrating a feature that spans separate screens, and how to use Elementary with Bloc.

Maintainer

Maintainer avatar

Mikhail Zotyev

Contributors thanks

Big thanks to all these people, who put their effort into helping the project.

contributors

Special thanks to:

Dmitry Krutskikh, Konoshenko Vlad, and Denis Grafov for the early adoption and the first production feedback;

Alex Bukin for IDE plugins;

All members of the Surf Flutter Team for actively using and providing feedback.

Sponsorship & Support

Special sponsor of the project:

Surf

For all questions regarding sponsorship/collaboration connect with Mikhail Zotyev.

We appreciate any form of support, whether it's a financial donation, a public sharing, or a star on GitHub and a like on Pub. If you want to provide financial support, there are several ways you can do it:

Thank you for all your support!

所属分类

源码仓库

使用此插件的项目

暂无相关数据。