Size: 2258
Comment: Update
|
Size: 2665
Comment: Added BeeWare - see https://mail.python.org/pipermail/mobile-sig/2018-January/000187.html
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
|| || '''[[https://chaquo.com/chaquopy/|Chaquopy]]''' is a plugin for Android Studio's Gradle-based build system. || '''[[https://kivy.org/docs/guide/android.html|Kivy]]''' is a cross-platform OpenGL-based user interface toolkit. || '''[[http://www.qpython.com/|QPython]]''' is an on-device script engine and development environment. || || '''General''' || || || || || Python versions || 2.7, 3.6 || 2.7, 3.5, 3.6 || 2.7, 3.2 || || Open-source || No || Yes || Yes || || Google Play links || [[https://play.google.com/store/apps/details?id=com.chaquo.python.demo|Python 2]], [[https://play.google.com/store/apps/details?id=com.chaquo.python.demo3|Python 3]] || [[https://play.google.com/store/apps/details?id=org.kivy.showcase|Demo]] || [[https://play.google.com/store/apps/details?id=org.qpython.qpy|Python 2]], [[https://play.google.com/store/apps/details?id=org.qpython.qpy3|Python 3]] || || '''APIs''' || || || || || User interface || Native Android || Kivy || Kivy, SL4A || || Other Android APIs || All || All via PyJNIus, or some via Plyer || All via PyJNIus, or some via SL4A || || Java‑to‑Python integration || Yes || No || No || || 3rd party libraries || Pure-Python and selected native || Pure-Python and selected native || Pure-Python and selected native || || '''Build''' || || || || || Standalone Android APK || Yes || Yes || No || || iOS || No || Yes || No || || Desktop OSs || No || Yes || No || |
|| || '''[[https://chaquo.com/chaquopy/|Chaquopy]]''' is a plugin for Android Studio's Gradle-based build system. || '''[[https://kivy.org/docs/guide/android.html|Kivy]]''' is a cross-platform OpenGL-based user interface toolkit. || '''[[http://www.qpython.com/|QPython]]''' is an on-device script engine and development environment. || '''[[https://beeware.org|BeeWare]]''' is a collection of tools for building native user interfaces. || || '''General''' || || || || || || Python versions || 2.7, 3.6 || 2.7, 3.5, 3.6 || 2.7, 3.2 || 3.4+ || || Open-source || No || Yes || Yes || Yes || || Google Play links || [[https://play.google.com/store/apps/details?id=com.chaquo.python.demo|Python 2]], [[https://play.google.com/store/apps/details?id=com.chaquo.python.demo3|Python 3]] || [[https://play.google.com/store/apps/details?id=org.kivy.showcase|Demo]] || [[https://play.google.com/store/apps/details?id=org.qpython.qpy|Python 2]], [[https://play.google.com/store/apps/details?id=org.qpython.qpy3|Python 3]] || None || || '''APIs''' || || || || || || User interface || Native Android || Kivy || Kivy, SL4A || Native Android || || Other Android APIs || All || All via PyJNIus, or some via Plyer || All via PyJNIus, or some via SL4A || All || || Java‑to‑Python integration || Yes || No || No || Yes || || 3rd party libraries || Pure-Python and selected native || Pure-Python and selected native || Pure-Python and selected native || Pure Python, plus any Java library || || '''Build''' || || || || || || Standalone Android APK || Yes || Yes || No || Yes || || iOS || No || Yes || No || Yes || || Desktop OSs || No || Yes || No || Yes || |
Line 24: | Line 24: |
* Although Android's primary programming language is Java, there is no known port of [[Jython]] to the platform. | * Although Android's primary programming language is Java, there is no known port of [[Jython]] to the platform. Android support in BeeWare is achieved using VOC, a tool that compiles Python source code to Java class files. This allows Python code to be executed as a native binary on the JVM. |
There are several ways to use Python on Android. The following table summarizes those projects which are currently active:
|
Chaquopy is a plugin for Android Studio's Gradle-based build system. |
Kivy is a cross-platform OpenGL-based user interface toolkit. |
QPython is an on-device script engine and development environment. |
BeeWare is a collection of tools for building native user interfaces. |
General |
|
|
|
|
Python versions |
2.7, 3.6 |
2.7, 3.5, 3.6 |
2.7, 3.2 |
3.4+ |
Open-source |
No |
Yes |
Yes |
Yes |
Google Play links |
None |
|||
APIs |
|
|
|
|
User interface |
Native Android |
Kivy |
Kivy, SL4A |
Native Android |
Other Android APIs |
All |
All via PyJNIus, or some via Plyer |
All via PyJNIus, or some via SL4A |
All |
Java‑to‑Python integration |
Yes |
No |
No |
Yes |
3rd party libraries |
Pure-Python and selected native |
Pure-Python and selected native |
Pure-Python and selected native |
Pure Python, plus any Java library |
Build |
|
|
|
|
Standalone Android APK |
Yes |
Yes |
No |
Yes |
iOS |
No |
Yes |
No |
Yes |
Desktop OSs |
No |
Yes |
No |
Yes |
In addition, there are a number of projects which are inactive or incomplete:
- SL4A (Scripting Layer for Android), originally named ASE (Android Scripting Environment), is a set of "facades" which expose a greatly-simplified subset of the Android API. The project was originally developed within Google, but is no longer supported by them. However, a fork of the library is distributed with QPython.
PySide (the Python binding for the Qt toolkit) has some preliminary support for Android.
Although Android's primary programming language is Java, there is no known port of Jython to the platform. Android support in BeeWare is achieved using VOC, a tool that compiles Python source code to Java class files. This allows Python code to be executed as a native binary on the JVM.