logo

domenica 2 gennaio 2011

Python mobile

Definizione “lampo”: Python di per sè è un linguaggio di programmazione, molto semplice rispetto al nativo linguaggio di programmazione C++ per Symbian OS e molto più accessibile, data la diffusione e disponibilità delle librerie, come fosse un progetto Open Source.
Detto ciò possiamo brevemente definire che le applicazioni destinate a dispositivi Symbian S60, possono essere sviluppate in:
  • C++, linguaggio nativo. Vengono rilasciati per l’utente finale pacchetti d’installazione .sis.
  • Java. Vengono rilasciati per l’utente finale pacchetti d’installazione .jar. Symbian OS ha il supporto per la piattaforma Java, nel caso specifico mobile, Java Micro Edition.
  • Python. Anche per le applicazioni sviluppate in Python vengono spesso rilasciati pacchetti d’installazione .sis per facilitare l’utente finale. Tuttavia, poichè funzionino, occorre installare il supporto per Python, ovvero il cosiddetto interprete Python for S60 o PyS60 che Symbian OS non ha nativamente. Ripeto che, per facilitare l’utente finale, anche le applicazioni sviluppate in python vengono impacchettate come dei .sis, altrimenti avremmo dei .py, ovvero degli script da far “girare” attraverso la ScriptShell, definibile allora come la componente che interpreta le linee di comando.
Symbian S60 1st Edition (Symbian OS v6.1)
7650, N-Gage, N-Gage QD, 3650, 3620, 3660, 3600
Symbian S60 2nd Edition Feature Pack 1 (Symbian OS v7.0s)
6600, 6620, 3230, 6670, 6260, 7610
Symbian S60 2nd Edition Feature Pack 2 (Symbian OS v8.0a)
6630, 6680, 6682, 6681
Symbian S60 2nd Edition Feature Pack 3 (Symbian OS v8.1a)
N70, N90, N72
Symbian S60 3rd Edition (Symbian OS v9.1)
N80, N71, N91, N92, N73, N93, E62, E50, E60, E70, 5500, 3250, N75, N93i, N77, E61i, E65
Symbian S60 3rd Edition Feature Pack 1 (Symbian OS v9.2)
N95, 6290, N76, 6110, E90, 5700, 6120, 6121, N81, N81 8GB, N95 8GB, E51, N82, 6124, E66, E71, E63
Symbian S60 3rd Edition Feature Pack 2 (Symbian OS v9.3)
6210, 6220, N78, N96, 6650, 5320, N79, N85, 5630
Symbian S60 5th Edition (Symbian OS v9.4) la piattaforma touch screen
5800 XpressMusic, N97
python
Cos’è Python: è un linguaggio di programmazione semplice e dinamico dotato di ampie librerie standard e che si integra fortemente con altri linguaggi e strumenti di programmazione. Per questo può essere utilizzato per lo sviluppo di vari software tra cui applicazioni destinate ai dispositivi S60. Il tutto racchiuso in un progetto Open Source, dunque ampio l’interesse sia da parte di programmatori amatoriali, data la semplicità di questo linguaggio di programmazione, che da parte dell’utente finale data la possibilità di usufruire di applicazioni spesso molto interessanti in maniera del tutto gratuita.
PyS60 (Python for S60) è l’interprete Python per i dispositivi Symbian S60. Oltre alle caratteristiche standard del linguaggio Python, offre un accesso diretto alle caratteristiche software degli smartphone come otocamera, contatti, calendario, audio video, protocollo TCP/IP, funzioni di telefonia.
Per utlizzare applicazioni scritte in Python su un dispositivo S60 occorre aver installato PythonForS60 (PyS60), inteso come system runtime la cui definizione stà in quanto descritto prima per l’interprete (un software che fornisce i servizi necessari all’esecuzione di un programma)  e  la relativa SciptShell.
Python Script Shell è un ambiente di lavoro per le linee di comando con la quale si possono eseguire degli script. Anche se è opportuno installarla, a meno che non siate degli informatici esperti non la utilizzerete mai.
Versione Beta
L’ ultima versione beta per l’interprete e la relativa ScriptShell di Python for S60, destinata all’utente finale intento ad utilizzare applicazioni scritte in Python sul proprio dispositivo,  è la 1.9.7.
Riassunto delle puntate precedenti
Si parte dalla release beta 1.9.0. Di qui si susseguiranno una serie di ulteriori versioni beta 1.9.x, il cui sviluppo finale porterà alla nuova versione definitiva di Python for S60, la 2.0.
1.9.0: ora l’applicazione si basa su Python 2.5.4, con disposnibilità di più moduli e dunque maggiori opportunità per gli sviluppatori. Aggiunto anche il supporto per la piattaforma 5th edition.
1.9.1: migliorato il supporto per la piattaforma 5th edition.
1.9.2: è stato migliorato il supporto per i sensori, per un migliore accesso ai sensori dei dispositivi il cui funzionamento si basa su librerie S60 Sensor Framework (Es. accelerometro 3rd edition FP2 e 5th edition).
1.9.3: il supporto touch screen è stato aggiunto agli oggetti Canvas. Praticamente immagini cursori e altri elementi grafici riconoscono l’imput tocco. Ora anche altri elementi User Interface come testi, listbox, moduli (application manager, calendario, contatti, messaggistica, gestione multimediale, log, ecc), funzionano a dovere su interfaccia touch screen.
1.9.4: Nokia ha signato un unico pacchetto software installabile su tutti i dispositivi S60 3rd e 5th edition. Nuove funzionalità e miglioramenti in stabilità, sono state aggiunte Nuove API (Application Programming Interface, set di istruzioni che permettono al programmatore di aggregarsi con il software ad Hardware o livelli di software superiore, presenti in un sistema), novità per quel ch riguarda il pacchetto d’installazione, ScriptShell compatibile con l’interfaccia touch screen.
1.9.5: minor update, fondamentalmente è stata aumentata la heap-size di default per le applicazioni in Python, da  100k,4M a 4k,1M; un’opzione “Continue with missing dependencies”, è stata implementata nel packaging tool. Abilitando questa opzione, le dipendenze perse verranno mostrate come pericoli e si continuerà con la generazione del SIS. Ulteriormente sono stati corretti alcuni bug.
1.9.6: rappresenta un minor update ricco di bugfix e una nuova caratteristica: un D-pad virtuale che compare sul fondo dello schermo dei dispositivi touch screen. E’ un’impostazione di default che disabilita, in questa versione, la visualizzazione a schermo intero delle applicazioni. Tale carattersistica è supportata solo nella modalità di orientamento display in landscape.
1.9.7: Tra le nuove, aggiunto il supporto touch screen per l’interfaccia di controllo degli elementi canvas (rendering dinamico di una bitmap). Un Pad direzionale viene visualizzato per impostazione predefinita sui dispositivi touch screen abilitati. Un esempio tipico è dato dall’ applicazione – gles_touch_demo.py, avviabile tramite la ScriptShell e che dimostra tale funzionalità; le opzioni di selezione multipla sono cambiate: “opzioni” per “seleziona/deseleziona” e “indietro” per tornare sulla lista; il Pad direzionale, supporta la modalità di visualizzazione in landscape; aggiunte nuove API canvas (”begin_redraw” e “end_redraw”); miglioramenti anche per l’applicazione “Scribble”.

Occorre installare prima l’interprete e poi la relativa ScriptShell, e si può scegliere di installare il tutto,  sulla memory card o sulla memoria telefono (ovviamente date ad entrambe la stessa destinazione). Consigliato tuttavia optare per la memoria telfono. Sembra che le vecchie versioni installate si sovrascrivino, forse tuttavia opportuna la rimozione prima di aggiornare.
Dwnload Python 1.9.7 beta (Interprete+Scriptshell)
  • Python_1.9.7 per tutti gli S60 3rd edition e 5th edition
  • Python ScriptShell per tutti gli S60 3rd edition e 5th edition
Dwnload Python 1.9.6 beta (Interprete+Scriptshell)
  • Python_1.9.6 per tutti gli S60 3rd edition e 5th edition
  • Python ScriptShell per tutti gli S60 3rd edition e 5th edition
UPDATE: Python 1.9.6 fixed
Qui le release notes
Dwnload Python 1.9.5 beta (Interprete+Scriptshell)
  • Python_1.9.5 per tutti gli S60 3rd edition e 5th edition
  • PythonScriptShell_3rdEd per tutti gli S60 3rd edition
  • PythonScriptShell_5thed per tutti gli S60 5th edition
Di seguito tutti i downloads
Qui le release notes
Dwnload Python 1.9.4 beta (Interprete+Scriptshell)
QUI le release notes
Download Python 1.9.3 beta (Interprete+ScriptShell)
Esiste un pacchetto d’installazione  dedicato ai Symbian S60 3rd edition e 3rd edition FP1 e un pacchetto d’intallazione dedicato ai Symbian S60 3rd edition FP2 e 5th edition. Dunque seguite l’ordine di installazione e di compatibilità per il dispositivo opportuno come seguentemente schematizzato:
1) PyS60 (l’interprete)
  • Python_1.9.3_3rdEd.sis per 3rd edition e 3rd edition FP1
  • Python_1.9.3_5thEd.sis per 3rd edition FP2 e 5th edition
2) Python ScriptShell (un ambiente di lavoro per le linee di comando)
  • PythonScriptShell_1.9.3_3rdEd.sis per 3rd edition e 3rd edition FP1
  • PythonScriptShell_1.9.3_5thEdFP2.sis per 3rd edition FP2 e 5th edition
Di seguito tutti i downloads
Qui le release notes
Di seguito il download delle precedenti beta e dell’SDK


Differenza tra versioni singed ed unsigned: facilitando e riferendomi alla questione delle certificazioni in termini di protezione, introdotta a partire dai dispositivi Symbian S60 3rd edition, vi posso dire che la versione unsigned garantisce un accesso standard alle funzioni del dispositivo, “user-grantable”, mentre la versione signed, appunto da certificare garantisce un accesso pi invasivo alle funzioni del dispositivo, dunque aumentano le possibilità di script e le possibilità di compatibilità per le applicazioni scritte in Python.
Versione Stabile
La versione stabile dell’interprete e la relativa schell è invece la 1.4.5. Come sempre installare prima l’interprete PythonForS60 (PyS60) e successivamente la relativa ScriptShell.
Per questa versione l’installazione è obbligatoriamente da effettuarsi sulla memoria telefono, le vecchie versioni installate non si sovrascrivono, dunque rimuoverle prima di aggiornare.
Qui  i downloads per tutti i 3rd edition (anche FP1 e FP2).
  • Python for S60 1.4.5

  • Python Script Shell 1.4.5

Questa versione non è ufficialmente compatibile con i 5th edition.
Qui  i downloads per tutti i 2nd edition
  • Python for S60 1.4.5 e Python Script Shell 1.4.5

per
Symbian S60 2nd Edition Feature Pack 1 (Symbian OS v7.0s)
6600, 6620, 3230, 6670, 6260, 7610
Symbian S60 2nd Edition Feature Pack 2 (Symbian OS v8.0a)
6630, 6680, 6682, 6681
Symbian S60 2nd Edition Feature Pack 3 (Symbian OS v8.1a)
N70, N90, N72
QUI le RELEASE NOTES
Esiste per i 3rd edition anche un MegaPyModulePack (ultima versione 2.01, non testata su 5th edition), forse una raccolta di librerie, che occorre  installare per far funzionare alcune applicazioni.
Qui il download, per l’installazione del MegaPyModulePack occorre certificazione

Una volta che sul dispositivo sono presenti interprete e relativa scriptshell è possibile utilizzare sui dispositivi le applicazioni scritte in Python, esattamente come si utilizziamo tutte le altre. Quasi sempre il sorgente per l’installazione delle applicazioni in Python è un .sis, dunque da installarsi alla consueta maniera, ovvero inviando il file sul telefono tramite bluetooth e facendo per aprirlo in messaggi al fine di avviarne l’installazione, oppure trasferendolo sul dispositivo  con la modalità archiviazione di massa, e dunque facendo per aprirlo dal file browser del telefono al fine di avviarne l’installazione. Oppure si può utilizzare comodamente Nokia PC Suite. Rarissime volte possiamo trovarci di fronte ad un file .py (uno script). In questo caso,trasferite il file sulla memory card e tornando poi sul dispositivo,  utilizzare un’applicazione file browser del tipo X-plore, per destinarlo all’interno del seguente percorso: C:/System/Apps/Python. Questo per quanto riguarda i 2nd edition. Per quanto riguarda invece i 3rd edition il percorso di destinazione è il seguente: E:/data/python (occorre aver installato Python e relativa ScriptShell sulla memory card). Quando il sorgente dell’applicazione è un .py occorre avviarne l’esecuzione dallo Scrypt (icona python che compare tra le applicazioni del dispositivo) facendo OPZIONI-RUN SCRIPT.
Molte applicazioni in Python compatibili con dispositivi Sybian S60 3rd edition FP1 che vertono a sfruttare le funzioni dell’accelerometro integrato (ovviamente per i dispositivi che ne sono dotati. L’accelerometro è una componente hardware che rivela l’orientamento del dispositivo nello spazio e permette funzioni come la rotazione dello schermo in landscape o protrait a seconda che il dispositivo sia orientato in posizione verticale o orizzontale), non funzionano sui 3rd edition FP2 e superiori. Questo perché il software per il funzionamento dell’accelerometro è diverso tra le due generazioni di Symbian (quello dei Symbian S60 3rd edition FP2 si basa su librerie S60 Sensor Frameworks. Quello dei 3rd edition FP1 si basa su di un plug in).
Per far funzionare l’accelerometro sui dipositivi 3rd edition FP1 occorre aggiornare il firmware alle ultime versioni oppure installare il suddetto plug-in



Python Documentation

Nessun commento:

Posta un commento