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

CommentaDi' la tua

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