Biblioteca Istituto Zooprofilattico Sperimentale dell'Umbria e delle Marche
Sanità Pubblica Veterinaria: Numero 91, Agosto 2015 [http://www.spvet.it/] ISSN 1592-1581
Documento reperibile all'indirizzo: http://spvet.it/indice-spv.html#615

torna alla copertina della rivista
torna all'indice generale di SPV

EDITORIALE:
MIT App inventor 2: Costruire semplici applicazioni per smartphone Android per l'attività professionale
MIT App Inventor 2: Building simple applications for Android smartphones to promote the professional activity

Raoul Ciappelloni






Questo editoriale è dedicato a "MIT App Inventor 2", particolarissimo strumento per la programmazione di applicazioni Android, promosso dal Massachusetts Institute of Technology (MIT, http://web.mit.edu/). Non stupisce certo che una delle maggiori università statunitensi, che può vantare, fra l'altro, il famoso laboratorio di Intelligenza Artificiale dove lavorò Richard Stallman, sia il punto di partenza di questa storia.

Chiunque, utilizzando App Inventor può, con un ragionevole impegno, realizzare da solo programmi per i device mobili, utili per affrontare specifici problemi professionali o per lo studio. Che dire poi dell'originale modalità d'uso? In pratica si tratta di combinare "blocchi di codice precostituiti", "incastrandoli" insieme fino a formare strutture informatiche complesse, un po' come si fa nei giochi di costruzioni. Alla fine avremo effettivamente programmato una App perfettamente funzionante, in grado di girare in uno smartphone Android al pari delle altre, scaricabili, come di consueto, da Google Play (https://play.google.com/store/apps?hl=it).
MIT App Inventor 2
Sito Web del progetto MIT App Inventor 2.
La possibilità per tutti, di costruire una App Android

Argomento per noi molto interessante. Oggi si parla molto di App, programmi "minimalisti" per dispositivi quasi instant-use, che proprio per questo possono funzionare negli smartphone, apparecchi di dimensioni e potenza di calcolo più contenuti rispetto ad un desktop PC. Questi sono attualmente di grande o grandissima diffusione, e costituiscono un settore informatico di primario interesse per gli Operatori del Sistema Sanitario e l'attività di Veterinari, Agronomi e Allevatori.
Ma se ci sono App di tutti i tipi e l'offerta negli store online è in crescita esponenziale c'è da chiedersi perché volerne costruire una per conto proprio?
Rispondiamo che i motivi possono essere diversi e proviamo ad elencarli.

Ovviamente l'utilità di MIT App Inventor si manifesta appieno in un ambito che potremmo definire di "sperimentazione personale", di progettazione o assimilabile a questi. Se l'esigenza fosse di produrre software "mission critical", utilizzabile su diverse tipologie di device in situazioni operative (e legali) complesse, ci si dovrebbe senz'altro rivolgere al settore professionale ed a programmatori esperti nei consueti linguaggi. Diffondere App "faidate" verso il vasto pubblico, che magari dopo centinaia di download mostrerebbero le loro carenze costruttive, sarebbe poco raccomandabile. Il vero significato di questo sistema è chiaramente espresso nella documentazione del MIT dove si dice che "...il progetto App Inventor cerca di democratizzare lo sviluppo del software coinvolgendo tutte le persone, e specialmente i giovani, nella transizione da utenti a creatori di tecnologia". (http://appinventor.mit.edu/explore/about-us.html).

Costruire semplici applicazioni per smartphone Android è semplice. Dopo aver effettuato il setup (http://appinventor.mit.edu/explore/ai2/setup.html), si può iniziare a programmare utilizzando una libreria molto potente e già predisposta per noi. Come accennato, non c'è una vera sintassi da ricordare. Per fare una App si debbono mettere insieme i "pezzi" giusti (le componenti), inserendoli semplicemente con drag and drop in un'area definita "visualizzatore".
Il modello concettuale è: "When this happens, the app does this - quando questo accade la App fa questo". Gli "eventi" sono evidenziati al massimo rendendo facile la progettazione. I blocchi di codice non si "incastrano" fra loro in ogni combinazione, ma solo in quelle che hanno un senso. Quindi non c'è molta possibilità di assemblare istruzioni che non possono stare insieme (nonsense code). C'è grande concretezza nel sistema, si programmano componenti non astrazioni.

MIT App Inventor 2 trasforma la programmazione, normalmente basata sulla scrittura di codice testuale, in una operazione completamente "visuale". Si "montano" building blocks colorati all'interno di un browser Web (grazioso il click che si sente quando i pezzi combaciano insieme). L'ambiente è integrato e comunicante (per verificare immediatamente il funzionamento della App) con il proprio smartphone e nulla dovrà essere installato sul PC (a meno che non si voglia utilizzare un emulatore, peraltro non indispensabile).
Tutto ciò, significa che senza disporre di particolari strumenti, si può programmare una App Android bypassando l'uso diretto di Java o di IDE strutturate come Eclipse. Una volta avviato, il sistema ci apparirà, nelle due interfacce di base, come riportato di seguito.


MIT App Inventor 2 - Designer

MIT App Inventor 2 - Blocchi di codice

MIT App inventor 2. Schermate designer e blocks
(la guida alla pagina - http://appinventor.mit.edu/explore/designer-blocks.html)


Ad esempio, ecco come apparirebbero i blocchi di codice che consentono al nostro smartphone di comandare una IOIO microcontroller board (http://doc.inex.co.th/ioio-board-how-to-use-ioio-inventor/).

esempio di codice assemblato

Questo blocco di codice, comanda una scheda elettronica IOIO.
Le istruzioni impostano il pin 0, per fare accendere o spegnere un LED ad esso collegato.
Quando la programmazione è conclusa, scegliendo l'opzione "Build", verrà prodotto
un file apk (Android Package) e la nostra App è pronta per essere installata in uno
smartphone Android, con il quale potremmo ora controllare un congegno elettronico da remoto
via Bluetooth o utilizzando un cavetto USB.


Attualmente App Inventor 2 può contare su quasi due milioni di utilizzatori (forse potremmo dire programmatori), dislocati in centonovantacinque Paesi (http://www.mrwebmaster.it/android/introduzione-app-inventor_11757.html).
Pertanto convivremo, almeno per un po' di tempo, con questo tool, la cui principale limitazione sembra essere quella di riferirsi unicamente al mondo Android (ma non sembra che i suoi utenti vedano la cosa spiacevole). D'altra parte proprio il Sistema Operativo di Google sembra racchiudere, almeno per il momento, un compendio dei valori tipici del mondo Open.

Se poi volessimo toccare con mano quanto questo ambiente di sviluppo sia efficace, possiamo recarci alla pagina dedicata alle migliori realizzazioni che da esso derivano. Troveremo elencate decine di App (http://appinventor.mit.edu/explore/app-month-gallery.html), molte delle quali sono state fatte da giovani e giovanissimi (11 anni) e non solo negli Stati Uniti o in Paesi europei come Italia e Germania, ma anche India, Hong Kong e Brasile. Si tratta di programmi che fanno un po' di tutto come anche riportato alla pagina "Stories" (http://appinventor.mit.edu/explore/stories.html). Calcolano, illustrano specie botaniche, propongono giochi didattici, perfino aprono e chiudono la porta di casa comandando (attraverso Bluetooth), una scheda Arduino.
La possibilità di un impiego (almeno sperimentale) di MIT App Inventor 2 nei settori di interesse di questa rivista è piuttosto scontato.

Grazie a lui potremmo costruire Applicazioni che forniscano dati "critici" sull'attività in corso, direttamente "in campo" (dati storici su allevamenti, referti di laboratorio) o che consentano di gestire particolari aspetti di eventi formativi (test, quiz, download di materiale informativo per i discenti) o addirittura che permettano di interagire direttamente con alcuni congegni tramite lo smartphone (tracciamento di animali, monitoraggio ambientale, rilevamento di condizioni particolari nel luogo di un esperimento).
In definitiva, MIT App Inventor, come il famoso coltellino svizzero, rende capaci di effettuare operazioni tecnologiche anche complesse, programmando un device mobile. Questa è una possibilità con sviluppi promettenti specialmente per i professionisti che hanno necessità di organizzare il proprio lavoro sfruttando a fondo le possibilità che l'informatica più avanzata mette a loro disposizione, a costi accessibili e, perché no? Sentendosi maledettamente in gamba.


Creative Commons License
MIT App inventor 2: Costruire semplici applicazioni per smartphone Android per sostenere l'attività professionale by Ciappelloni R., 2015 is licensed under a Creative Commons Attribution 4.0 International License.
Permissions beyond the scope of this license may be available at http://indice.spvet.it/adv.html.