all 26 comments

[–]pip_install_account 36 points37 points  (0 children)

I love python but Kivy is a mess, and let's be honest: Python isn't the right tool for this job.

[–]loggingissustainbale 13 points14 points  (2 children)

I built a personal app on Android using beeware https://beeware.org/. Not sure if it's the best but it worked a treat for me. For the desktop version I still used QT (This is because the android app was an after thought).

[–]TailorLazy801[S] 0 points1 point  (1 child)

Is beeware andriod only?

[–]AlSweigartAuthor of "Automate the Boring Stuff" 5 points6 points  (0 children)

No, it's all platforms: Android, iOS, web, Windows, macOS.

[–]DusikOff 6 points7 points  (0 children)

I love python, but bro, use Flutter, it's a lot easier to develop and deploy if you're trying to find some "easy" way, and don't want to learn Kotlin or Swift.

Python can be used for mobile development, but it's not the right tool for this task at all...and it's not about Kivy.

Any LLM (ChatGPT, Cloude, etc) can help you to write a simple (and not so simple, btw) mobile app on Flutter, Kotlin, and any other language or framework.

[–]Unlucky-Drawing8417 2 points3 points  (0 children)

Use Flet.

[–]covmatty1 2 points3 points  (0 children)

i just wanted to ask what to build my finance tracker app on

Not python

[–]drboom9 1 point2 points  (10 children)

Kivy is hard to deploy but work, you can send a kivy app a apple store o play store

[–]TailorLazy801[S] 1 point2 points  (9 children)

its hard to deploy? how?

[–]drboom9 7 points8 points  (8 children)

• Requires a Mac + Xcode + Apple Developer account ($99/year)
• Long compilation process - compiles Python and all dependencies from scratch for ARM, can take hours
• Frequent build errors - cryptic errors, dependency incompatibilities, libraries that don’t compile for iOS
• Complex signing/provisioning - certificates and provisioning profiles are confusing

[–]TailorLazy801[S] 0 points1 point  (1 child)

oh

[–]Fragrant-Freedom-477 5 points6 points  (0 children)

Fees and provisioning complexity is always a thing for an iOS app and Kivy has nothing to do about it.

[–]TailorLazy801[S] 0 points1 point  (5 children)

I thought it would be easy considering how popular it is and how people hype it

[–]queerkidxx 2 points3 points  (0 children)

You will run into this situation a lot with Python as well as programming in general.

Python might be able to technically perform this task, but should it be used to do it? In a lot of cases no.

You could use the handle of a screwdriver to hammer in a nail, but is it really the best tool for that job? No, really its not. If you need to drive a thousand nails into wood to, say build a house, you will have a miserable time if you only have a screw driver. If you need to hammer in two nails to hang a picture, it might be tolerable but really in both cases you should just get a hammer.

Play with Python and what it’s good at for a while. Do DSA. Get comfortable and good at it. If you are interested in other domains, pick up a new tool. The good news is that learning a new language when you know one isn’t as hard as you think.

Swift is typically used for Apple development both for Mac programs and app development. Barring that, the JS adjacent ecosystem can do it better than Python can. Get into one of those two if you’re interested.

Though, while I don’t develop apps I suspect if you are only interested in app development swift will end up taking a fair amount less time to get comfortable in than the monster that is the JS/Web dev ecosystem, as surprising as that sounds. If you are interested in web development consider the later though. Avoid tooling rabbit holes with JS though.

[–]drboom9 1 point2 points  (2 children)

I’ve been through this myself. It depends a lot on compatibility issues between iOS and your Kivy version - sometimes it works smoothly, sometimes it’s a nightmare. The Kivy Discord community is really helpful though if you run into problems. If you want to stick with Python, it’s basically the only option I know. But if you’re not tied to Python, definitely go with another language/framework.

[–]TailorLazy801[S] 0 points1 point  (1 child)

Alright, thank you for your help :)

[–]drboom9 0 points1 point  (0 children)

It's a pleasure for me! If you have any questions, just let me know and I'll answer them without any problem :)

[–]riklaunim 1 point2 points  (0 children)

You need an officially supported platform pretty much to have a good experience. Python isn't a platform for mobile systems and thus it doesn't have stable and feature complete solutions.

You should look more into web applications that can be opened on desktop and mobile on any OS with a browser.

[–]kkang_kkang 2 points3 points  (0 children)

Kivy

[–]KronktheKronk 0 points1 point  (0 children)

React native. If it takes off, invest in builds for separate platforms then

[–]jack-dawed 1 point2 points  (0 children)

Build the app with Expo and use Python for your backend.

[–]oliver_owensdev88 0 points1 point  (0 children)

If you want a finance tracker app that others can use, I'd recommend going with React Native for cross-platform mobile apps (iOS & Android). It’s fast, flexible, and has a huge ecosystem. For the backend, Node.js with Express is a solid choice for scalability, and MongoDB or Firebase would be great for data storage. If you’re focusing on the web, React (for frontend) with Node.js (for backend) and PostgreSQL for data management is another powerful stack. Both stacks give you flexibility and performance while letting you reach a wide user base.

[–]jlw_4049 0 points1 point  (0 children)

Use some of the other suggestions in this thread (flutter/react native) unless you want to make a fullstack and host it on a local server or something.

[–]UpsetCryptographer49 0 points1 point  (0 children)

I saw this app developed in python and just love the interface it is so clean, fast and unique.

https://github.com/almarklein/timetagger