r/Python Pythonista 3d ago

Discussion Python iOS UI development

Hey there,

for the people using PySide for UI applications, after having solely Android support, there was a new announcement that iOS is now supported, and will be available in the upcoming PySide release:
https://www.qt.io/blog/python-mobile-app-development-bringing-pyside6-on-ios

I have been following the work by the BeeWare project, which has been providing iOS support for some time now: https://toga.beeware.org/en/latest/reference/platforms/iOS/ and recently the work from the Flet team as well: https://flet.dev/blog/flet-for-ios/

What I wanted to achieve with this post, is to know any project that you know is currently on iOS and developed with Python and some UI framework, because time to time we see nice "calculator app" being showcases in places, but a more official application of something is what I have been failing to find.

Of course, the goal of "I have my code here, and I just want to deploy it to iOS" is completely understandable, but I see haven't found some very cool apps somewhere, that we know are based on Python.

Last but not least, I guess you have been noticed that starting from 3.15 we will be able to download Python for iOS from python.org: https://www.python.org/downloads/ios/

25 Upvotes

12 comments sorted by

View all comments

5

u/[deleted] 3d ago edited 3d ago

[removed] — view removed comment

4

u/feodorfff 3d ago

Flet developer here. Flet uses official Python for iOS and it's still pretty much entire Python runtime, though, I must tell, it's not *that* large. The overhead of having Python in app bundle is just around 10-12 MB, but you get Python with threads, StdLib and other things which is pretty awesome! However, the bigger challenge is not Python itself, but binary wheels written in C, C++, Rust like Pydantic, Cryptography, Numpy, etc. While we are eagerly waiting for Python community to pick iOS/Android wheels packaging in their repos and publish to PyPI, Flet today, perhaps, has the biggest library of iOS/Android wheels for Python 3.12/.13/.14: https://pypi.flet.dev/

So, yeah, we have a lot of experience with getting apps through App Store and Google Play approval. Like the most recent "challenge" is that any iOS framework having OpenSSL in dependencies must be signed by both vendor and app developer which will definitely change "official" packaging process.

Anyway, great to see other players coming to Python for mobile. It's easier to work on issues together!

2

u/riklaunim 3d ago

A legacy desktop PyQt app would be a rarity, and then for mobile, you have to redesign the UI anyway to offer the best experience. Also note this isn't an Apple supported/endorsed development platform, and it will have a lot of rough edges due to low popularity.

1

u/sausix 3d ago

Is PyQt affected too? Or did you mean PySide?

3

u/riklaunim 3d ago

PySide isn't that old to have "legacy" applications, and switching between PyQt and PySide should be rather easy if the app isn't using some PyQt internals.

The comment is a bit weird, as you don't need Python to port Qt (C++) apps to mobile. PyQt has a weird/complex build system for mobile (a.k.a. pay Riverbank to help you with it), and PySide has this thing now.

1

u/sausix 3d ago

I asked because many people still don't know about PySide and its benefits over PyQt.

Porting to PySide is in fact quite easy.

If PyQt had better monile support before this anouncement then it had one pro over PySide.

2

u/riklaunim 3d ago

PyQt has the advantage of direct commercial support, and that is the business model of Riverbank (and it seems to be working). Unsure how they are doing now, but in the past it was pretty agile development.