Add support for Kivy, pygame, pyqt, pyside as alternative GUI framework targetting Android and iOS
- Dominant language
- Python
- Stars
- 3.3k
- Forks
- 549
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 40
Description
### What is the problem or limitation you are having?
Any thoughts about adding those alternatives? Because briefcase is a packaging utility... I think it should be able to package any python package (including GUIs) to any platform. What do think? Will briefcase ever support those? Because they already run on Android using their own packaging tool called "python-for-android", adding those alternatives to briefcase seems extremely feasible!?
### Describe the solution you'd like
GUI Libraries like kivy, pygame uses a surface as a canvas and draw their stuffs. What about NativeActivity in Android? We can use the surface of NativeActivity as a drawing board for those libraries. Packaging tools like python-for-android does the same.
### Describe alternatives you've considered
To be clear.. kivy is a mature framework. But it's packaging tool python-for-android follows a horrible strategy by cythonizing whole python and kivy and everything it finds.... taking hours to compile an apk that too crashes on start up... Frustration!!
I adore beeware for it's extremely fast compile time and it's strategy of precompiled binaries.
I would like to see these two work together on Android where I would have versatility of kivy and powerful packaging utility of briefcase.
### Additional context
[@mhsmith edit – For now, if anyone wants to use Kivy on Android or iOS, they should use [Kivy's recommended packaging tools](https://kivy.org/doc/stable/guide/packaging.html).]
Related:
* #452
Contributor guide
Research direction
No files, tests, or entry points are named. Start by reading related issue #452 and the linked Kivy packaging guidance, then determine whether Briefcase has an agreed integration scope for these GUI frameworks on Android and iOS. Done would require a defined implementation plan and supported packaging behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, mobile-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 18/100