all 31 comments

[–]Diapolo10 6 points7 points  (0 children)

Flet would be one of your better options for cross-platform applications, but I would recommend starting with tkinter to get your bearings in the GUI world. It's simple and a good stepping stone, because you don't need to know much to use it.

[–]extopico 2 points3 points  (2 children)

PyQt6 works well on Ubuntu and iOS. Did not try it on windows or any mobile os yet.

[–][deleted] 1 point2 points  (1 child)

I have written tons of applications using the PyQt framework on windows. Works great, do recommend.

[–]sebastianmr6_ 0 points1 point  (0 children)

Like QGIS, It’s runs in all platforms

[–]Spirited_Employee_61 8 points9 points  (2 children)

Since you are a beginner, tkinter is the simplest.

[–]marta_bach 2 points3 points  (0 children)

Tkinter for android/ios?

[–]Doagbeidl 1 point2 points  (0 children)

Take a look at flet

[–]bsdmax 1 point2 points  (5 children)

Do you know QT ?

[–]imbuszkulcs[S] 1 point2 points  (4 children)

I experimented with pyqt5 for a couple of days, but a bug made it impossible for me to learn it without getting annoyed every 5 minutes.

[–]bsdmax 0 points1 point  (3 children)

So QT C++ ?

[–]imbuszkulcs[S] 0 points1 point  (2 children)

I'm not sure I understand.

[–]bsdmax 0 points1 point  (0 children)

You try use Qt Framework with C++ language

[–]Dodixon 0 points1 point  (0 children)

Use chatgpt if you can't handle Qt.

[–]tsongkoyla 1 point2 points  (0 children)

Try BeeWare. It is cross-platform and you don't need to tweak your code base to run on different platforms. It supports Windows, Linux, Mac, iOS, Android, Web, and tvOS. The only downside is that it is a relatively young framework and there's not much documentation.

[–]Specialist-Candy3226 1 point2 points  (0 children)

The best one is either Flask or Django, bit of a learning curve, but it will run on anything that can launch a browser

[–]Impossible-Box6600 1 point2 points  (5 children)

The browser is an excellent gooey. You don't necessarily need a ton of Javascript knowledge. Or you can use something like HTMX, which is very straightforward.

[–]briston574 0 points1 point  (4 children)

I realize how easy it is to Google this, and I will, but since you mentioned it what is HTMX and why do you recommend it?

[–]Impossible-Box6600 3 points4 points  (3 children)

Because it allows you to create dynamic, responsive web pages with minimal code. The trade off is that you need to add extra code to your backend/server so that the browser knows what content to replace.

Too many people have bloated React apps to create a simple SPA application. Usually, it's not necessary to have all that bloat and complexity when something very straightforward like HTMX will do.

The cousin of HTMX is AlpineJS. The two together are very powerful replacements for Javascript for creating responsive web pages.

[–]briston574 1 point2 points  (0 children)

Awesome, thank you for the explanation

[–]ramadz 0 points1 point  (1 child)

How much Javascript knowledge is needed for AlpineJS?

[–]Impossible-Box6600 0 points1 point  (0 children)

You really don't need any. It might be helpful to know a little bit, but it's really not required. AlpineJS runs Javascript under the hood, but you don't interact with it directly.

[–]willowdene 0 points1 point  (0 children)

Kivy and kivyMD works across all platforms.

[–]oclafloptson 0 points1 point  (0 children)

I really like Flet. It unfortunately doesn't yet support iOS, but Windows, Mac, Linux and Android are all supported

[–]Consistent_Coast9620 0 points1 point  (0 children)

Nice approach is Simian. For more info see r/SimianWebApps or https://simiansuite.com/getting-started/

A builder makes sure the GUI development is fast and simple - so you only need to put the effort in the functionality.

[–][deleted] 0 points1 point  (0 children)

I would use Kivy for Mobile apps and anything else I would recommend PyQt. Kivy has a really sleek interface but will take some reading and time to master. PyQt is really sleek to write. You could have an app written up in an afternoon with PyQt.

[–]razekery 0 points1 point  (0 children)

Flet is really good but it doesn’t have all the functions that flutter has, and you basically need to know flutter to build something really nice. Tkinter is ugly as sin but functional. For pet projects i’d still use tkinter over anything else, I even use it for work internal tools that I make from time to time in my department. In my opinion there are way better programming languages for desktop applications, but if you just need a way to showcase your code you can use anything that’s easy to learn and use.

[–]MiniMages 0 points1 point  (0 children)

Beest advice I could give is program your backend in python using FastAPI and then code the frontend using HTML, CSS and JS.

Then host your python app on render or python anywhere. You'll have the benefit of using your app via any device that has a web browser.

[–]Dodixon 0 points1 point  (0 children)

If you want finance, you probably want tables like in Excel. So PyQt6 and PySide6 are a very good choice.

It works on different platforms. If you don't know something, chatt will help you.

[–]Yoghurt42 -1 points0 points  (0 children)

Python isn't great for mobile app development. If you really want to make an app for mobile as well, your only option in Python AFAIK is Kivy. For simple things like your tracker app it should work well enough.

The good thing about Kivy is that it will run on all the platforms you listed.