flutter_clean_architecture 6.1.0
flutter_clean_architecture: ^6.1.0 copied to clipboard
A Flutter package that implements the Clean Architecture by Uncle Bob in Flutter. It provides Views, Controllers, Presenters, Observers, and UseCases.
6.1.0 Tuesday, October 28th, 2025 #
- Introduced CLI functionality
6.0.2 Monday, May 26th, 2025 #
- Update RxDart dependency to latest
6.0.1 Tuesday, July 17th, 2024 #
- Update RX dependency to latest
6.0.0 Tuesday, July 2nd, 2024 #
- Migrate to Dart 3
5.0.4 Saturday, March 17th, 2023 #
- Add 100% test coverage to the example
5.0.3 Saturday, August 06th, 2022 #
- Null safety, flutter 3.0.x support
5.0.1 Thusday, September 09th, 2021 #
- Removed conflicting annotation on flutter 2.5.0 on
onDisposed - Removed
authorfrompubspec.yamldue to deprecation issues. - Removed
pre-releasepackages
5.0.0 Thusday, March 04th, 2021 #
- Stable Null Safety
4.1.2-nullsafety.2 Thusday, March 04th, 2021 #
- Updated CI to use flutter 2.0 with nullsafety
4.1.2-nullsafety.1 Thusday, March 04th, 2021 #
- Updated packages for nullsafety versions
BREAKING CHANGES #
- Dart SDK constraint to 2.12.0
- Nullsafety
4.1.1 Monday, January 11th, 2021 #
- Update packages:
- logging: from
0.11.3+2to0.11.4 - meta: from
1.1.6to1.3.0-nullsafety.3 - provider: from
4.0.1to4.3.2+3 - rxdart: from
0.24.1to0.25.0 - test: from
1.5.1to1.16.0-nullsafety.5 - pedantic: from
1.9.0to1.10.0-nullsafety.2
- logging: from
4.1.0 Tuesday, January 5th, 2021 #
What's new #
- Created
mobileViewonResponsiveViewStateto allow correct usage ofglobalKeyand improve coherence with parent class - Created
tabletViewonResponsiveViewStateto allow correct usage ofglobalKeyand improve coherence with parent class - Created
desktopViewonResponsiveViewStateto allow correct usage ofglobalKeyand improve coherence with parent class - Created
watchViewonResponsiveViewStateto allow correct usage ofglobalKeyand improve coherence with parent class
Breaking changes #
- Removed deprecated methods from view
- Removed deprecated methods from controller
- Removed
mobileBuilderfromResponsiveViewState - Removed
tabletBuilderfromResponsiveViewState - Removed
desktopBuilderfromResponsiveViewState - Removed
watchBuilderfromResponsiveViewState
4.0.4 Thursday, December 17th, 2020 #
- Removed
BuildContextinjection fromController.onDisposedlife cycle to avoid unsafe usages of dead context - Created
Controller.onInitStateto correct controlView.initStatelife cycle. - Created
Controller.onDidChangeDependenciesto correct controlView.initStatelife cycle. - Created
Controller.onDeactivatedto correct controlView.deactivatelife cycle. - Created
Controller.onReassembledto correct controlView.reassemblelife cycle. - Deprecated
View.didChangeViewDependencies. AddedController.didChangeDependenciesto ensure correct usage. - Deprecated
View.initViewState. AddedController.initStateto ensure correct usage.
4.0.3 Thursday, December 10th, 2020 #
- Fixed
didChangeViewDependenciesto trigger correctly ondidChangeDependencies - Deprecated
Controller.dispose. AddedController.onDisposedto ensure correct usage ofBuildContexton dispose life cycle.
4.0.2 Monday, October 5th, 2020 #
- Updated example android build requirements for flutter 1.22
- Created
didChangeViewDependenciesonViewStateto enable access to controller ondidChangeDependencies
4.0.1 Sunday, September 27st, 2020 #
- Created
initViewStateonViewStateto enable access to controller on initialize.
4.0.0 Thursday, September 24st, 2020 #
What's New #
- Created
ControlledWidgetto createStatelessWidgetsrefreshable byController- Now, to create refreshable widgets, use
ControlledWidgetbuilder. - When
Controller.refreshUIis called, onlyControlledWidgetswill re-render - To create controlled
StatefulWidgets, please checkFlutterCleanArchitecture.getControllerapproach
- Now, to create refreshable widgets, use
- Improves
ResponsiveViewStatewith watch interface - Added
FlutterCleanArchitecture.setDefaultViewBreakpointsto configure view breakpoints globally - Added
mobileBuildertoResponsiveViewState - Added
tabletBuildertoResponsiveViewState - Added
desktopBuildertoResponsiveViewState - Added
watchBuildertoResponsiveViewState
Breaking Changes #
- Removed getter
controllerfromViewState - Removed
buildTabletView() - Removed
buildMobileView() - Removed
buildDesktopView()
3.1.1 Monday, September 21st, 2020 #
- Added an option to pass listen:false when calling getController() outside of the build method.
3.1.0 Monday, June 8th, 2020 #
- Created Github Actions to run analyze and tests on package
- Created responsive view to improve the usage on flutter web
- Fixed lint rules to fit pedantic 1.9.0
3.0.2 Wednesday, January 8th, 2020 #
- OnResumed bug fix
3.0.1 Wednesday, January 8th, 2020 #
- Fixed typo in documentation.
3.0.0 Wednesday, January 8th, 2020 #
What's New #
- Improves performance of the library by using the Provider package internally.
- Added an option to enable debug mode via
FlutterCleanArchitecture.debugModeOn() - Added the ability to use a common
Controllerfor widgets that exist within a page. The widgets can access theControllerin the tree via theFlutterCleanArchitecture.getController<Controller>(context)method.
Breaking Changes #
ViewState'sbuild()method can no longer be overridden.ViewStateUI code must now go intobuildPage()method.callHandler()is now removed- Removed
loadOnStart() - Removed
startLoading() - Removed
dismissLoading()
2.0.2 Thursday, December 26th, 2019 #
- Fixed an issue where
Controller.getContext()throws due to losing context because lifecycle events where triggered after theViewhad already been dismounted.
2.0.1 Thursday, December 26th, 2019 #
- Fixed error in docs
2.0.0 Thursday, December 26th, 2019 #
- Updated RxDart dependency
- Breaking changes
- All Observable return types are now changed to Streams
- Updated documentation
1.1.0 Tuesday, December 17th, 2019 #
- Added the ability to create a usecase that executes on a different isolate.
BackgroundUseCase- Usecase class that executes on a different isolate
- Create a static method in the class that conforms to
UseCaseTasksignature - Return the reference to that method inside the
buildUseCaseTaskmethod
BackgroundUseCaseParameters- Contains the input data provided to to the isolate
- Passed to the static method as a parameter
BackgroundUseCaseMessage- Provides output data and information such as completion status and errors
- The usecase usage in the presenter does not change, this class can be used identically
- Check
README.mdfor more details
- Added and improved documentation
- Updated README.md
1.0.8 Tuesday, December 12th, 2019 #
- Bug fix
1.0.7 Tuesday, December 12th, 2019 #
- Bug fix
1.0.6 Tuesday, December 11th, 2019 #
- Flutter v1.12.5 compatibility
- Changed onSuspending to onDetatched
1.0.5 Tuesday, August 27th, 2019 #
- Updated dependencies
1.0.4 Tuesday, August 27th, 2019 #
- Updated dependencies
1.0.3 Tuesday, July 2nd, 2019 #
- Add missing files to example
1.0.2 Thursday, May 9th, 2019 #
- Fixed documentation typos
- Changed misleading assertion messages
- Cleaned documentation
1.0.1 Tuesday, April 30th, 2019 #
- Fixed documentation typos
1.0.0 Tuesday, April 30th, 2019 #
- Added example application
- Addded documentation
0.0.1 Tuesday, April 30th, 2019 #
- Implementation of the Clean Architecture by Uncle Bob in Flutter Library
- View class
- Controller class
- Presenter class
- UseCase class
- Observer class
- Can be used to set up a Flutter project using the Clean Architecture