This repository is a home to packages and tools from the Elementary library family.
Package | Version |
---|---|
elementary | |
elementary_helper | |
elementary_test | |
elementary_cli |
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.
Learn more at our website with documentation.
To reduce the amount of boilerplate and manual work, Elementary offers a few options:
- elementary_cli: A command line utility that helps with boilerplate generation.
- Plugin for IntelliJ: A plugin for the IntelliJ IDE family, based on elementary_cli.
- Plugin for VSCode: A plugin for VSCode, based on elementary_cli.
- elementary brick: A command line utility that helps with boilerplate generation, based on Mason.
-
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.
Mikhail Zotyev
Big thanks to all these people, who put their effort into helping the project.
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.
Special sponsor of the project:
For all questions regarding sponsorship/collaboration connect with Mikhail Zotyev.