Skip to content

Commit 3516e71

Browse files
committed
5.20.0
1 parent 4d54256 commit 3516e71

41 files changed

Lines changed: 1508 additions & 1602 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,19 @@
11

2+
## 5.20.0
3+
March 31, 2025
4+
error_handler.dart
5+
- Flag when an error handler is explicitly passed into the app, _passedErrorHandler
6+
- Calls error handler when an unhandled error occurs in the root isolate.
7+
_platformOnError = PlatformDispatcher.instance.onError;
8+
- Call to error handler in try-catch construct
9+
app_statex.dart - New functions to catch Asynchronous errors
10+
- Future<bool> onCatchAsyncError(Object error) async => await rootState?.catchAsyncError(error) ?? false;
11+
- Future<bool> catchAsyncError(Object error)
12+
- Future<bool> Function(Object error)? inCatchAsyncError
13+
- Deprecated onErrorHandler(). Use onError() instead.
14+
app_statefulWidget.dart:
15+
- future.catchError( calls catchAsyncError()
16+
217
## 5.19.0
318
March 17, 2025
419
- Folder, test, moved to example/lib allowing testing on the Web

README.md

Lines changed: 1 addition & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -45,59 +45,4 @@ Free articles on Fluttery Framework:
4545
[A Fluttery Digest](https://dev.to/andrious/a-fluttery-digest-2kb8)
4646

4747
As great as Flutter is, you will not create a ‘production-worthy’ app using Flutter right out of the box.
48-
When building a Flutter app, it’s expected to be one codebase that runs on an Android phone,
49-
an iOS phone, on Windows, on Linux, and or on the Web---and to do so seamlessly.
50-
It is to display the appropriate design interface (Material, Cupertino, etc.) depending on the platform it’s running on,
51-
it is to have a responsive interface that displays its information correctly no matter the screen size of the device or platform,
52-
and it is to fail gracefully if and when it encounters an error.
53-
Flutter right out of the box does not have these capabilities.
54-
Until now.
55-
56-
When I first started working with Flutter,
57-
I began keeping modular bits of code from past projects that generally accelerated the development process.
58-
I would use these again and again in future apps---building up a toolkit as we developers often do.
59-
Libraries of tried and tested bits of software that I can later put together to reliably supply a particular function or feature.
60-
Over time, I turned to the Flutter community for such libraries, and again,
61-
if I didn’t find one I liked, I wrote my own:
62-
<ul>
63-
<li id="prefs"><a href="https://pub.dev/packages/prefs">Prefs</a></li>
64-
<li id="state"><a href="https://pub.dev/packages/state_set">State Set</a></li>
65-
<li id="db"><a href="https://pub.dev/packages/dbutils">DBUtils</a></li>
66-
<li id="l10n"><a href="https://pub.dev/packages/l10n_translator">l10n Translator</a></li>
67-
<li id="remote"><a href="https://pub.dev/packages/remote_config">Remote Config</a></li>
68-
<li id="extend"><a href="https://pub.dartlang.org/packages/state_extended">StateX</a></li>
69-
</ul>
70-
71-
The Fluttery Framework uses packages you will likely need in your own apps.
72-
It's a collection of software that's proven to be effective solutions to those capabilities required time and time again by a typical real-world app.
73-
It’s an amalgamation of what's great about Flutter and what the Flutter community has contributed over the last years.
74-
As the years went by, I found packages that made my life easier and so they too were incorporated into the Fluttery Framework:
75-
76-
- [connectivity_plus]( https://pub.dartlang.org/packages/connectivity_plus)
77-
- [device_info_plus]( https://pub.dev/packages/device_info_plus)
78-
- [flutter_localizations]( https://pub.dev/packages/flutter_localization)
79-
- [go_router]( https://pub.dev/packages/go_router) (but not before [discovering]( https://github.com/flutter/flutter/issues/123570#issuecomment-1588610299) how to fix it)
80-
- [http](https://pub.dev/packages/http)
81-
- [package_info_plus](https://pub.dev/packages/package_info_plus)
82-
- [path_provider](https://pub.dev/packages/path_provider)
83-
- [sizer](https://pub.dev/packages/sizer)
84-
- [state_extended](https://pub.dev/packages/state_extended)
85-
- [timezone](https://pub.dev/packages/timezone)
86-
- [universal_io](https://pub.dev/packages/universal_io)
87-
- [universal_platform](https://pub.dev/packages/universal_platform)
88-
- [url_launcher](https://pub.dartlang.org/packages/url_launcher)
89-
- [url_strategy](https://pub.dev/packages/url_strategy)
90-
- [uuid](https://pub.dartlang.org/packages/uuid)
91-
92-
I was careful to choose only packages that fulfill the general requirements of a typical app.
93-
After all, this is to serve as a ‘general framework’ for all my apps no matter how diverse each is.
94-
Of course, for your specific app with its specific needs,
95-
you then will add additional packages or write your own.
96-
You supply the specific code; the Fluttery Framework supplies the rest.
97-
98-
Such a framework is to offer a structured approach to making a production-worthy app.
99-
For we Flutter developers in particular, a ready means to access a State object’s **setState**() function is of interest.
100-
With that, Fluttery own unique contribution to this package is the concept of a ‘State Object Controller.’
101-
The use of controllers are nothing new to Flutter. It uses controllers in a number of its widgets.
102-
It would encourage a separation of an app’s interface from its event handling and business rules promoting a clean architecture.
103-
Unlike other options out there, it works with Flutter; not on top of it as a separate approach.
48+
Until now.

example/android/app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
2+
<!-- <uses-feature android:glEsVersion="0x00010001" android:required="true" />-->
23
<application
34
android:label="fluttery_framework_example"
45
android:name="${applicationName}"

example/lib/main.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
//
22
import '/src/view.dart';
33

4-
void main() => runApp(
5-
FlutteryExampleApp(),
6-
);
4+
void main() => runApp(FlutteryExampleApp());

0 commit comments

Comments
 (0)