Differences between revisions 17 and 18
Revision 17 as of 2018-01-09 00:43:16
Size: 2665
Editor: DavidBoddie
Comment: Added BeeWare - see https://mail.python.org/pipermail/mobile-sig/2018-January/000187.html
Revision 18 as of 2018-01-09 23:06:24
Size: 2735
Editor: DavidBoddie
Comment: Transposed the table, ordered rows alphabetically.
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. || '''[[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 ||
||<style="text-align: center;"|2> '''Project''' ||<style="text-align: center;"-3> '''General''' ||<style="text-align: center;"-4> '''APIs''' ||<style="text-align: center;"-3> '''Build''' ||
|| Python versions || Open-source || Google Play links || User interface || Other Android APIs || Java&#x2011;to&#x2011;Python&nbsp;integration || 3rd party libraries || Standalone&nbsp;Android&nbsp;APK || iOS || Desktop OSs ||
|| '''[[https://beeware.org|BeeWare]]''' is a collection of tools for building native user interfaces. || 3.4+ || Yes || None || Native Android || All || Yes || Pure Python, plus any Java library || Yes || Yes || Yes ||
|| '''[[https://chaquo.com/chaquopy/|Chaquopy]]''' is a plugin for Android Studio's Gradle-based build system. || 2.7, 3.6 || No || [[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]] || Native Android || All || Yes || Pure-Python and selected native || Yes || No || No ||
|| '''[[https://kivy.org/docs/guide/android.html|Kivy]]''' is a cross-platform OpenGL-based user interface toolkit. || 2.7, 3.5, 3.6 || Yes || [[https://play.google.com/store/apps/details?id=org.kivy.showcase|Demo]] || Kivy || All via PyJNIus, or some via Plyer || No || Pure-Python and selected native || Yes || Yes || Yes ||
|| '''[[http://www.qpython.com/|QPython]]''' is an on-device script engine and development environment. || 2.7, 3.2 || Yes || [[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]] || Kivy, SL4A || All via PyJNIus, or some via SL4A || No || Pure-Python and selected native || No || No || No ||

There are several ways to use Python on Android. The following table summarizes those projects which are currently active:

Project

General

APIs

Build

Python versions

Open-source

Google Play links

User interface

Other Android APIs

Java‑to‑Python integration

3rd party libraries

Standalone Android APK

iOS

Desktop OSs

BeeWare is a collection of tools for building native user interfaces.

3.4+

Yes

None

Native Android

All

Yes

Pure Python, plus any Java library

Yes

Yes

Yes

Chaquopy is a plugin for Android Studio's Gradle-based build system.

2.7, 3.6

No

Python 2, Python 3

Native Android

All

Yes

Pure-Python and selected native

Yes

No

No

Kivy is a cross-platform OpenGL-based user interface toolkit.

2.7, 3.5, 3.6

Yes

Demo

Kivy

All via PyJNIus, or some via Plyer

No

Pure-Python and selected native

Yes

Yes

Yes

QPython is an on-device script engine and development environment.

2.7, 3.2

Yes

Python 2, Python 3

Kivy, SL4A

All via PyJNIus, or some via SL4A

No

Pure-Python and selected native

No

No

No

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.

Android (last edited 2024-02-07 13:18:35 by MalcolmSmith)

Unable to edit the page? See the FrontPage for instructions.