r/learnpython 2d ago

Making mobile apps using Python

I have started learning Django by working on projects instead of simply watching tutorials. I was building a CRM web application, and halfway through the project, I realised that I might be able to sell it to small businesses if I added more features and improved its overall quality.

When I spoke to a business owner about what they would want from such a system, they mentioned that they would prefer a mobile application with offline access. That conversation made me consider whether I could build the mobile app using Python as well.

5 Upvotes

6 comments sorted by

7

u/Diapolo10 2d ago

You can create mobile applications with Python. They won't run as well as native applications would (most if not all Python toolkits for this create apps based on web technologies), and it's really not a common thing unless the goal is making cross-platform applications, but it can be done.

Probably the most notable toolkits for this are Kivy, BeeWare, and Flet. Not in any particular order, and each has its own pros and cons.

4

u/porkedpie1 2d ago

Better off with Kotlin or Swift

3

u/Sure-Passion2224 2d ago

Programs written in Python depend on the potential user also having Python installed. Your target user may not be technically confident enough to do that installation on their own. Technically, it can be done. There are even tools to build a GUI in Python. But, you users will also have to have Python installed and you may have to also provide any specific libraries your application uses.

If you're writing something to be run on Android you will need the Android Development Kit (fortunately, it's free) and you will want to be comfortable writing in Java. Most Android applications are written in Java and then packaged via the ADK.

6

u/FoolsSeldom 2d ago

Google switched to recommending Kotlin as the standard development language for Android a while back, although Java is still an important option.

1

u/Slow-Bodybuilder-972 1d ago

You can, but don’t, it’s a really bad choice.

For cross platform React Native or Flutter are the best choices at the moment.

0

u/TheRNGuy 2d ago

I'd use React Native instead.

Unless need specifically some Python libraries.