Python si è dimostrato un linguaggio altamente capace – accessibile per i nuovi arrivati, ma potente nelle mani degli esperti. Perché non dovreste essere in grado di usare Python ovunque abbiate bisogno di dire ad un computer di fare qualcosa? E i vostri strumenti non dovrebbero sfruttare tutte le capacità di Python come linguaggio, non solo le parti che si adattano bene ad un binding C?
Il computing moderno non avviene in una finestra di console 80×25. Accade su telefoni, tablet e macchine desktop con ricche interfacce utente. Non si dovrebbe essere in grado di usare Python in tutti questi posti, e sfruttare le capacità uniche di queste piattaforme?
Gli utenti finali non dovrebbero preoccuparsi del linguaggio in cui sono scritti i loro strumenti. E questo inizia con l’aspetto e il comportamento di strumenti completamente nativi. Aspetto nativo, comportamento nativo, consegnato nel modo in cui viene consegnata un’app nativa. Perché i vostri strumenti Python non dovrebbero adattarsi allo stesso modo di uno strumento nativo?
Ci sono diversi modi per usare Python su Android.
BeeWare è una collezione di strumenti per costruire interfacce utente native
Questo è ciò che BeeWare fornisce. Strumenti per aiutarvi a scrivere codice Python con una ricca interfaccia utente nativa; e le librerie e il codice di supporto necessari per far funzionare quel codice su iOS, Android, macOS, Linux, Windows, tvOS, e altro ancora.
Open source
Il processo di sviluppo Open Source ha dimostrato di essere il modo più affidabile per sviluppare software solido e affidabile. Ecco perché l’intera suite di strumenti BeeWare ha licenza BSD ed è disponibile a tutti per l’uso e la modifica.
Chaquopy
Chaquopy è un plugin per il sistema di build basato su Gradle di Android Studio.
Chaquopy ti permette di mischiare liberamente Java e Python nella tua app, utilizzando il linguaggio più adatto alle vostre esigenze:
- Con l’API Python, è possibile scrivere un’applicazione parzialmente o interamente in Python. L’API completa di Android e il toolkit dell’interfaccia utente sono direttamente a tua disposizione.
Chaquopy funziona all’interno del sistema di compilazione standard di Android:
- Se usi Android Studio, puoi iniziare a usare Chaquopy in 5 minuti senza cambiare il tuo processo di sviluppo esistente.
- Il download e l’installazione sono automatizzati tramite Gradle.
Per iniziare:
- Prova la demo app per Python 2 o Python 3.
- Sfoglia il codice sorgente dell’esempio su GitHub.
- O vedi la documentazione.
Kivy
Kivy è un toolkit di interfaccia utente multipiattaforma basato su OpenGL.
È possibile eseguire applicazioni Kivy su Android, su (più o meno) qualsiasi dispositivo con OpenGL ES 2.0 (Android 2.2 minimo). Questo è lo standard sui dispositivi moderni; Google riferisce che il requisito è soddisfatto dal 99,9% dei dispositivi.
Gli APK di Kivy sono normali applicazioni Android che si possono distribuire come qualsiasi altra, anche sugli store come il Play store. Si comportano correttamente quando vengono messe in pausa o riavviate, possono utilizzare i servizi Android e hanno accesso alla maggior parte delle normali API java come descritto di seguito.
Seguite le istruzioni qui sotto per imparare come impacchettare la vostra app per Android, eseguire il debug del vostro codice sul dispositivo, e utilizzare le API Android come per la vibrazione e la lettura dei sensori.
Il progetto Kivy fornisce tutti gli strumenti necessari per impacchettare la tua app su Android, inclusa la costruzione del tuo APK autonomo che può essere distribuito su un mercato come il Play store. Questo è coperto completamente nella documentazione di Create a package for Android.
Usare le API di Android
Anche se Kivy è un framework Python, il progetto Kivy mantiene gli strumenti per usare facilmente le normali API java, per tutto, dalla vibrazione ai sensori all’invio di messaggi tramite SMS o email.
Per i nuovi utenti, si consiglia di usare Plyer. Per un accesso più avanzato o per le API non attualmente avvolte, potete usare direttamente Pyjnius. Kivy fornisce anche un modulo Android per le funzionalità di base di Android.
Il codice e gli esempi di Android forniti dagli utenti sono disponibili sul wiki di Kivy.
Pyqtdeploy
Pyqtdeploy è uno strumento per la distribuzione di applicazioni PyQt. Supporta il deployment su piattaforme desktop (Linux, Windows e OS X) e su piattaforme mobili (iOS e Android).
pyqtdeploy funziona prendendo i singoli moduli di un’applicazione PyQt, congelandoli e poi mettendoli in un file di risorse Qt che viene convertito in codice C++ dallo strumento rcc di Qt. La libreria standard di Python è gestita nello stesso modo.
pyqtdeploy genera anche un file Qt .pro che descrive tutto il codice C++ generato. Da questo lo strumento qmake di Qt è usato per generare un Makefile specifico per la piattaforma che poi genererà un singolo eseguibile. Ulteriori strumenti Qt e/o specifici della piattaforma possono essere usati per convertire l’eseguibile in un pacchetto distribuibile specifico della piattaforma.
pyqtdeploy richiede l’installazione di PyQt5 e Python v3.2 o successivi.
Sono supportate le applicazioni PyQt4 e PyQt5 scritte usando Python v2.6 e successivi e Python v3.3 e successivi.
pyqtdeploy è rilasciato sotto licenza BSD.
QPython
QPython è un motore di script e un ambiente di sviluppo su dispositivo.
Nella maggior parte dei casi, lo script può fare il vostro lavoro bene come l’applicazione nativa. Ora è possibile farlo con l’aiuto di QPython.
QPython è un motore di script che esegue programmi Python su dispositivi Android. Può anche aiutare gli sviluppatori a sviluppare applicazioni per Android.
QPython include un kit di sviluppo completo che ti aiuta a sviluppare programmi con dispositivi mobili e fornisce una regolare console Python
SL4A
SL4A (Scripting Layer for Android), originariamente chiamato ASE (Android Scripting Environment), è un insieme di “facciate” che espongono un sottoinsieme molto semplificato dell’API Android.
SL4A porta i linguaggi di scripting su Android permettendo di modificare ed eseguire script e interpreti interattivi direttamente sul dispositivo Android. Questi script hanno accesso a molte delle API disponibili per le applicazioni Android vere e proprie, ma con un’interfaccia notevolmente semplificata che rende facile fare le cose.
Gli script possono essere eseguiti interattivamente in un terminale e in background. Python, Perl, JRuby, Lua, BeanShell, JavaScript, Tcl e shell sono attualmente supportati, e stiamo progettando di aggiungerne altri. Vedi la playlist SL4A Video Help su YouTube per varie dimostrazioni delle caratteristiche di SL4A.
SL4A è progettato per gli sviluppatori ed è un software di qualità alpha.
PySide
PySide (il binding Python per il toolkit Qt) ha un supporto preliminare per Android.
Il progetto PySide fornisce binding Python con licenza LGPL-con licenza LGPL per Qt 4. Include anche una completa toolchain per generare rapidamente i binding per qualsiasi gerarchia di classi C++ basata su Qt. I binding PySide Qt permettono sia lo sviluppo di software libero open source che proprietario e, in definitiva, mirano a supportare le piattaforme Qt.
8.Termux
Termux è un emulatore di terminale Android e un’applicazione per l’ambiente Linux che funziona direttamente senza bisogno di rooting o setup. Un sistema di base minimo viene installato automaticamente – pacchetti aggiuntivi sono disponibili utilizzando il gestore di pacchetti APT.
Google Play