Maintainability of flet apps / frameworks on top of flet #1020
Replies: 1 comment
-
This is a very thoughtful discussion! I completely agree that Flet's simplicity makes it an excellent choice for beginners and developers transitioning from traditional desktop frameworks. However, as projects scale, maintainability and architectural patterns become crucial. I recently explored Flet GUI Designer and found it incredibly useful for designing multi-platform applications while maintaining clean and organized code. For anyone looking to dive deeper, this resource provides a detailed overview of Flet's capabilities and tips for building robust applications. In your opinion, would integrating tools like flet-mvc or similar libraries into the framework's core improve scalability for larger projects? Or should developers rely more on external tools to address this gap? |
Beta Was this translation helpful? Give feedback.
-
It is my understanding that flet aims to be an approachable framework for building multi-platform applications, specifically with Flutter as the enabling framework in the background.
When looking at UI frameworks in general, such as React, Vue, Qt or Tkinter, it is noticeable that the web frameworks seem to be more or less opinionated/strict about how to do and structure stuff while the desktop frameworks tend to be more "script-friendly" or laissez-faire.
At the current state, I'd say flet behaves more like a desktop framework in this regard. This has the following advantages:
However, once apps grow more complex and critical, the following drawbacks appear:
I personally like the idea of having flet as the approachable "base layer" framework and adding to that in external packages, such as flet-mvc or my flet-mvp-utils and flet-routed-app. However, I see a lot of apps/code in issues, discussions and on discord that may produce glorious UIs, but is an equally glorious and unmaintainable mess behind the scenes. It is very likely that at least some of these snippets will belong to critical software now or in the future, maybe even because someone searches for their issue and copies the solution.
That is why I think some form of nudging should happen. This could e.g. be a notice a la "if you plan to develop a critical or complex application, please consider one of these libraries..." in a relevant place in the docs. Of course the libraries in question would have to be production-ready and actively maintained. Another idea would be to use flet in combination with these libraries to build the docs themselves. That way the docs could interactively display the controls and one has a rather complex application to look at, a marvelous developer experience enhancement which can be seen e.g. at lowdefy.
Please let me know what you think!
Beta Was this translation helpful? Give feedback.
All reactions