flutter / flutter

Flutter makes it easy and fast to build beautiful apps for mobile and beyond
https://flutter.dev
BSD 3-Clause "New" or "Revised" License
164.23k stars 27.1k forks source link

Flutter arch document #149138

Closed KotovskyS closed 2 months ago

KotovskyS commented 3 months ago

Document Link

The document is in Russian but is easy to translate

https://docs.google.com/document/d/1CPZlpyknTPFYvc0yRq5gzLbivEkZfKuIB1gbDuEEiVM/edit?usp=sharing

What problem are you solving?

As my studying project I was doing architectural overview of Flutter and made this document with offers of architectural decisions.

I would also like to describe it below. In my opinion, there is a lot of functionality that should be availbable in the Flutter package itself, but not in the outer packages from pub.dev.

For example, some of the packages are:

https://pub.dev/packages/camera and https://pub.dev/packages/camerawesome - I have added the second package here, because the initial camera packages has some disadvantages when using other libraries (for example, image streaming does not work correctly in the camera package - for example, Samsung A23. Due to that QR-scanning on this device does not work at all. There may also be other devices with this problem, so I would recommend to pay attention to that problem).

https://pub.dev/packages/dart_jsonwebtoken and https://pub.dev/packages/oauth2 - it is very useful to generate JWT and OAuth 2.0 tokens in the code, so this functionality would make it easier to make the applications more secure when talking about authorization, and it would make it more secure.

https://pub.dev/packages/custom_refresh_indicator - this is one of the widgets that is really needed in Flutter. The RefreshIndicator widget that is now present in the Flutter package is not customazible at all, meanwhile most of other widgets can be upgraded really well.

darshankawar commented 2 months ago

Translated document : https://docs.google.com/document/d/19z-THyzqHIO4lYaDiHYCCzh3_sPVP9QkZHEBjHopuCo/edit

darshankawar commented 2 months ago

https://pub.dev/packages/camera and https://pub.dev/packages/camerawesome - I have added the second package here, because the initial camera packages has some disadvantages when using other libraries (for example, image streaming does not work correctly in the camera package - for example, Samsung A23. Due to that QR-scanning on this device does not work at all. There may also be other devices with this problem, so I would recommend to pay attention to that problem).

@KotovskyS Looks like your proposed changes to the camera package can be filed as a separate issue as proposal.

https://pub.dev/packages/dart_jsonwebtoken and https://pub.dev/packages/oauth2 - it is very useful to generate JWT and OAuth 2.0 tokens in the code, so this functionality would make it easier to make the applications more secure when talking about authorization, and it would make it more secure.

This proposal would probably belong to https://github.com/dart-lang/oauth2

https://pub.dev/packages/custom_refresh_indicator - this is one of the widgets that is really needed in Flutter. The RefreshIndicator widget that is now present in the Flutter package is not customazible at all, meanwhile most of other widgets can be upgraded really well.

You can check https://github.com/flutter/flutter/issues/96528 which look similar.

github-actions[bot] commented 2 months ago

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. If you find this problem please file a new issue with the same description, what happens, logs and the output of 'flutter doctor -v'. All system setups can be slightly different so it's always better to open new issues and reference the related ones. Thanks for your contribution.

github-actions[bot] commented 1 month ago

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.