Overslaan en naar de inhoud gaan

Python krijgt voet aan de grond op Android

Een opensource-project genaamd BeeWare probeert de mobiele wereld open te breken voor Python-applicaties.
programmeren
© CC0 - Pixabay
CC0 - Pixabay

De projectleider van BeeWare - Russell Keith-Magee - gaf dit weekend een update tijdens de virtuele 2020 Python Language Summit. Python is hard op weg de populairste ontwikkeltaal te worden. Vooral de ontwikkelaars die zich bezig houden met machine learning, hebben Python massaal omarmd. Een probleem is echter dat de meest gebruikte implementatie van Python - CPython - tot nog toe niet bruikbaar was op mobiele platforms en dan vooral op Android.

Developers hebben natuurlijk het liefst dat zij toepassingen kunnen creëren die zonder aanpassingen op alle platformen werken en zo de grootst mogelijke gebruikersgroep kunnen aanspreken. Een van de problemen voor Python-app op mobiele platformen was lange tijd dat de processorkracht ontoereikend was.

Vorig jaar kreeg BeeWare 50.000 dollar van de Python Software Foundation voor de ontwikkeling van een manier waarop CPython-code op Android zou kunnen werken. Aanvankelijk zette Beeware een strategie uit om CPython-code de compileren naar Java-code. Dat is ook gelukt. Keith-Magee liet begin dit jaar nog een Python-app zien die op Android werkte.

Python 'native' op Android

Inmiddels zijn Android-apparaten snel genoeg en is de Android kernel 'toegeeflijk' genoeg om zelf CPython te draaien, zegt A. Jesse Jiryu Davis, engineer bij MongoDB en Python specialist in een blog van de Python Software Foundation op blogspot.com.

Maar er zijn meer problemen. Zo is er de omvang van de code van de apps omdat zij hun eigen versie van de Python runtime nodig hebben. Er zijn al diverse pogingen gedaan dat probleem op te lossen, onder meer door een soort uitgeklede versie van de Python-kernel geschikt te maken voor bijvoorbeeld Android. Dat zou kunnen werken in combinatie met een package installer voor het betreffende platform.

Een bijkomend probleem is echter dat op mobiele platformen een aantal zaken heel anders wordt afgehandeld dan op Unix. "Denk aan sockets, pipes en signals", zegt Davis. "TLSA Certificate handling op Android is met name 'eigenzinnig'."

CPython aanpassen op mobiel

Daarom deed Keith-Magee tijdens de virtuele conferentie een oproep aan de ontwikkelaars die werken aan CPython om een serieus gesprek aan te gaan rond aanpassingen in de programmeertaal die nodig zijn om mobile Python in de core te verwerken.

Volgens Davis is er in ieder geval wel één belangrijke voorstander van die wijzigingen, en dat is Guido van Rossum de grondlegger van Python. Hij is altijd voorstander geweest van de ondersteuning van mobiele platformen op de lange termijn. Maar volgens Davis is er veel geld en de inzet van ontwikkelaars nodig om dat voor elkaar te krijgen. En vooral dat geld ontbreekt, vanwege een kip-ei-probleem. Python ondersteunt geen mobiele platformen dus er is geen bedrijf dat afhankelijk is van mobiel Python om het financieel te steunen.

Reacties

Om een reactie achter te laten is een account vereist.

Inloggen Word abonnee

Bevestig jouw e-mailadres

We hebben de bevestigingsmail naar %email% gestuurd.

Geen bevestigingsmail ontvangen? Controleer je spam folder. Niet in de spam, klik dan hier om een account aan te maken.

Er is iets mis gegaan

Helaas konden we op dit moment geen account voor je aanmaken. Probeer het later nog eens.

Maak een gratis account aan en geniet van alle voordelen:

Heb je al een account? Log in

Maak een gratis account aan en geniet van alle voordelen:

Heb je al een account? Log in