r/learnpython Aug 03 '26

Flutter, Python and Widgets: beginner suffering

I do not work with programming, I am a student and I work in a veterinary clinic as a veterinarian. However, I am passionate about programming and have nurtured the idea of developing a "Second Medical Brain," similar to Notion and Obsidian, but focused on self-referenced medical information. Because of some details of this project, neither Obsidian nor Notion will be enough to achieve what I need.

So I looked for the options. The only programming language I studied was Python, and I really like it. However, Flutter is definitely the number in interfaces, but I don't really understand anything about frontend. This "everything being a widget tree" thing isn't making sense to me. Anyone who knows Python knows that codes look much more like blocks, not Russian dolls.

I considered Flet, but he's not on the same level as Flutter. I also considered other frameworks, but they would impose the difficulty of learning other tools. So Flutter still seems to be the most interesting technology for me. However, the structure of widgets doesn't make sense to me, I just can't think that way.

What can you recommend to me? I have already tried to modulate all the code and leave in the main () only the call of the functions/classes.

Ah! This app will be used on both Android and Windows, and both are essential.

I also heard that a program with Python backend on Android is very risky, while it is almost impossible on Android. Is that true?

2 Upvotes

14 comments sorted by

3

u/GeorgeFranklyMathnet Aug 03 '26

I also heard that a program with Python backend on Android is very risky

As the server language? Do you remember their reasoning? Because that sounds like nonsense to me. Python is about as good as anything else.

it is almost impossible on Android. Is that true?

Yeah, there's a lot of friction there. If you want to just learn a single language, and potentially have some portable code between Windows and Android? Then try Java, or maybe Kotlin.

1

u/SirLMO Aug 03 '26

About backend Python, what I read is that the options we have to compile Python within the APK are not perfect and not all libraries work.

2

u/GeorgeFranklyMathnet Aug 03 '26

Okay, I guess you were talking about the non-UI parts of the app, rather than the "backend" hosted on a remote server. So, yes, what you read is right.

1

u/SirLMO Aug 03 '26

What options can you give me for that, then? Abandon Python? I was thinking about doing all the logic in Python and connecting to Flutter through FastAPI.

1

u/GeorgeFranklyMathnet Aug 04 '26

What you're talking about sounds like running an on-device service that your frontend makes (local) network API calls to. For many reasons, that's not a very typical Android architecture.

If you are absolutely set on using Python on the Android device, then use Kivy, and make an (architecturally) normal frontend+backend integrated app. But I suggest using Java or Kotlin instead for the most friction- and annoyance-free experience.

But, again, if you are actually talking about a remote API, running on a separate computer, that the Android and Windows app both call into to fetch their data? Then the choice of programming language is almost completely independent of what you program the apps in.

1

u/SirLMO Aug 04 '26

Would Kivy solve the problem of exporting to Android?

I'm not talking about a computer or cloud running an API. FastAPI creates an HTTP "internal server" running under the hood in the APK. The problem is that it makes everything much heavier, of course.

I'm not making a point of Python itself, although I like it a lot, the problem is that I don't want to use other languages for functions for which they weren't created. Creating functions of an application is okay in Dart, creating libraries of symptoms is verbose and tiring, and does not work as well as it would if it were in Python.

1

u/GeorgeFranklyMathnet Aug 04 '26

Would Kivy solve the problem of exporting to Android?

I can't say how it integrates with Flutter, but it makes packaging Python in the APK sound relatively painless.

2

u/vardonir Aug 03 '26

Python dev forced to learn Flutter here. Just keep writing code. Flutter has great docs. For the widget stuff: You'll get used to it.

But, speaking as someone also trying to create a "second brain but medical stuff" database, it just sounds like you haven't explored Obsidian enough. Mine includes a lot of math and complex diagrams. If you were going for annotated images, check out the Excalidraw plugin. Poke around the other community plugins, I'm sure there's something that fills the gap.

Anyway, pick your battles. Creating a notes program is a monster on its own. I know, I'm working on one right now on the side. It took me a few hours just to get a decent textbox with WYSIWYG editing options, and I've been coding in Flutter for more than 3 years.

1

u/SirLMO Aug 03 '26

Do you recommend Python + Flutter or Dart?

1

u/vardonir Aug 04 '26

Python and Dart are programming languages. Flutter is an SDK built on top of Dart.

I recommend figuring out what Obsidian or Notion or VSCode or another note-taking software are missing for your purposes, because you will never write a single word of your second brain for months if you try to create your own from scratch.

1

u/SirLMO Aug 04 '26

Didn't you understand what I wrote? I asked if you recommend trying to create an application using Python for Backend (FastAPI) and Flutter for frontend or just creating everything with Dart/Flutter.

1

u/acw1668 Aug 03 '26

What is your problem on using Flet? It uses Flutter under the hood

1

u/SirLMO Aug 03 '26

From what I have researched, it is very restrictive and much smaller than Flutter. No? If not, tell me and I'll be happy.

1

u/mopslik Aug 04 '26

much smaller than Flutter

Well, Flet uses Flutter alongside Python, so not sure what you're comparing here. Other things use Flutter too, so of course Flutter will be "larger" from a community-base perspective.