Oggi per la nostra rubrica dedicata agli sviluppatori vogliamo parlarvi di App Inventor, un framework con il supporto per il drag-and-drop che permette di apprendere la programmazione di applicazioni Android tramite un linguaggio visual block.
Un Linguaggio di Programmazione Visuale consente la creazione del codice tramite la manipolazione grafica degli elementi e non tramite scrittura dei sorgenti. Quindi i programmi vengono realizzati tramite "espressioni visuali", anche se è sempre possibile inserire porzioni di codice per le funzioni più specifiche. La maggioranza dei visual block language è basata sull'impostazione "boxes and arrows" ovvero i "box" (contenitori) sono concepiti come funzioni connesse tra di loro tramite "arrows" (frecce).
I vantaggi della programmazione visuale sono la facilità di apprendimento e la possibilità di visualizzare lo stato del programma durante le fasi di debug. App Inventor quindi si presta facilmente a scopi educativi. È stato creato da Hal Abelson e Mark Friedman che negli anni l'hanno trasformato da un semplice Java-based fronted/USB debugger fino alla sua attuale configurazione Web-based.
App Inventor ha adottato un approccio Event-driven, quindi la domanda principale che si deve porre il programmatore è "cosa accade se l'utente preme questo pulsante?". Si tratta di un modo più naturale di approcciarsi alla programmazione, che rende più semplice insegnare i concetti ad uno studente.
App Inventor si divide in due parti, client e server, entrambe sotto licenza open source Apache 2.0. Il client è basato sulla libreria Blocky, sviluppata da Google e pensata per essere una specie di meta-language, ovvero un framework per creare linguaggi blocks-based per il Web. Può essere però utilizzata anche per generare codice Javascript.
App Inventor non è altro che un "Java server" costruito per far girare dei Google App Engine container. È possibile costruire vari tipi di interfacce tramite widget, bottoni, input field e canvas. Inoltre, è possibile sfruttare tutta una serie di azioni che si attivano mediante dei trigger specifici, come i sensori di movimento, la telecamera, il GPS e il touchscreen.
Via App Inventor