flutter-elementary
This is a home to a family of Elementary library packages.
- Stars
- 141
- Forks
- 46
- Last push (UTC)
- Sep 13, 2026
- Project status
- Active
Original README
English project snapshot. Visit GitHub for the latest content.
Flutter Elementary repository
Description
This repository is a home to packages and tools from the Elementary library family.
| Package | Version |
|---|---|
| elementary | |
| elementary_helper | |
| elementary_test | |
| elementary_cli |
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:
- 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.
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
Mikhail Zotyev
Contributors thanks
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.
Sponsorship & Support
Special sponsor of the project:
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!
Categories
How do I choose a repository?
Start with your use case, compare repository activity, and check the original project before adopting it.
- Search by repository name, owner or description, then narrow the results by topic.
- Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
- Read the README, license and issues on GitHub before using a project.
Sources and maintenance
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗
