Una nuova opzione open source per gli estimatori di Python, denominata Python for Android (il sorgente su github/python-for-android), consiste nel rendere disponibile agli sviluppatori un set di utilità  con il quale creare pacchetti contenenti l'interprete del linguaggio (compilato per ARM) e le librerie necessarie (è disponibile un set limitato di quelle disponibili ad uno sviluppatore Python), al quale verrà  aggiunto il codice del programma vero e proprio per poi costruire un APK (che è il formato delle app su Android).

Queste alternative portano sempre degli svantaggi, purtroppo, rispetto alle vie "ufficiali". Nel caso di Python for Android, la mancanza del toolkit di widget nativo di Android (è disponibile un toolkit alternativo, cross platform ed open source: Kivy) risulta piuttosto limitante dal mio punto di vista e va aggiunta alla già  citata ristrettezza del parco librerie disponibile.

Personalmente mi piace che si possa fare un po' di fuoripista magari per un progetto personale, anche se la strada di Java e C++ resta preferibile nel lungo termine. Secondo voi, quando può valere la pena di lasciare la strada ufficiale in favore di un linguaggio più consono ai nostri gusti personali, nonostante gli svantaggi?

3 CommentiDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *

@lordmax: concordo, purtroppo la via ufficiale é sempre stata preclusa con la quantità  di lavoro necessario a sviluppare il toolkit solo per Java e C++ @pbattino: ovviamente C++ (e l'NDK) arrivano come opzione per chi deve sviluppare giochi o altre applicazioni che ne hanno la necessità  (come dici tu). L'SDK principale é e resta quella in Java

Matteo Scotuzzi
Matteo Scotuzzi

mi sembra semplicemente assurdo dover programmare in C++ (e sottolineo il 'dover': se e' una scelta motivata e' un altro discorso) per dispositivi mobili. Capisco se vuoi fare un'app di augmented reality, ma nella maggioranza dei casi NON abbiamo bisogno della velocita' di un linguaggio compilato. Guardiamoci intorno (anzi guardiamoci nel nostro smartphone): quante sono le applicazioni che risentirebbero se fossero scritte in Phyton? Al contrario sarebbe bene usare il + possibile delle librerie di UI standardizzate, per garantire una maggiore coerenza nella UX, e quindi, a maggior ragione, ci si avvicina ad una situazione tipo quella dei browser web: lo sviluppatore non deve sviluppare niente a basso livello, ma deve sfruttare l'ecosistema gia' fornito. E quindi ci basta un linguaggio interpretato. Nel caso dei browser e' JS, ma sarebbe lo stesso discorso per la VM di Flash (Actionscript).

pbattino
pbattino

Io trovo la mancanza si python per android una grave pecca. Sicuramente proverò la strada di kivy certo che é un problema non da poco.

lordmax
lordmax