Google App Inventor

Friday, August 27th, 2010 | Author:
App Inventor logo

App Inventor logo

Dopo circa due mesi di attesa, all’inizio di Agosto, mi è finalmente arrivato l’invito per provare la beta di Google App Inventor. Per chi non sa cosa sia, ecco una breve spiegazione. App Inventor è una applicazione web basata su Java Web Start che permette di programmare dispositivi Android in un modo molto semplice ed intuitivo: componendo il programma come se fosse un puzzle. Concordo: non è certo una novità (tra gli esempi più noti possiamo sicuramente citare Lego Mindstorms) ed è anche vero che l’ambiente di programmazione deriva dal progetto Open Blocks (una libreria Java nata presso il MIT per il progetto StarLogo TNG), ma bisogna capire l’intento principale di questo progetto: creare un ambiente didattico per la programmazione di Android.

Vi posso garantire che il bersaglio è stato sicuramente centrato; infatti questo progetto risulta sicuramente adatto per insegnare le basi della logica della programmazione a chi proprio di basi non ne ha 😉 . Principalmente i suoi punti di forza sono:

  • un linguaggio completamente orientato al drag-and-drop; che semplifica al massimo l’interazione con l’ambiente;
  • non esiste alcuna sintassi da ricordare;
  • tutto è visibile nell’interfaccia e raggiungibile con pochi click del mouse;
  • il modello concettuale scelto è il più semplice possibile e molto intuitivo: è basato sugli eventi (quando succede questo fai questo 😉 );
  • tutti i componenti sono di alto livello: non bisogna capire cosa succede veramente nel dispositivo;
  • non tutti i blocchi possono essere combinati: questo semplifica l’approccio e evita di poter “programmare” cose che palesemente non abbiano senso.

Naturalmente non tutto è perfetto (alla fine è ancora in beta 😉 ) e tra i più grandi difetti che si possono riscontrare ci sono:

  • la gestione dell’interfaccia utente è ancora limitata e presenta qualche bug (ad esempio, le applicazioni create con App Inventor si chiudono con un messaggio di errore se viene cambiata l’orientazione del telefono);
  • accesso limitato al web: è possibile utilizzare solo il protocollo specificatamente predisposto per App Inventor;
  • le applicazioni sviluppate non rispettano i criteri minimi per essere rilasciate su Android Market;
  • la gestione del codice è possibile solo attraverso il drag-and-drop: non è possibile ad esempio copiare, tagliare e incollare e questo obbliga a ripetere spesso le stesse operazioni.

Concludendo vi posso dire, che comunque l’esperienza è carina e ribadisco che potrebbe diventare veramente un valido strumento da utilizzare a livello accademico al fine di avvicinare gli studenti, ad esempio, alle problematiche della programmazione di dispositivi mobili.

Nell’immagine seguente potete vedere un esempio di procedura, di un applicazione di esempio che ho realizzato: i blocchi blu rappresentano oggetti (o loro proprietà), mentre i blocchi verdi rappresentano operazioni matematiche (operatori o costanti numeriche).

Esempio di una procedura App Inventor

Esempio di una procedura App Inventor

Category: Android, Informatica
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
  1. approfondirò…

  2. Ferro says:

    2 Mesi??!!
    He cavoli, quanto tempo!

    E dire che a me serviva provarlo entro pochi giorni come esempio per una ricerca sulle webapps in Java!
    Peccato!
    Ho inviato la richiesta, ma chissà quando mi risponderanno.

    Comunque, un’altro progetto simile molto bello è , che tra l’altro è stato pubblicato dall’MIT come le librerie open blocks (magari le usa pure).
    Solo che scratch crea programmi per Windows, non per Android.

  3. Ferro says:

    Aggiunta:
    Il nome del programma simile di cui parlavo è “SCRATCH”;
    Ho messo il link ma non è venuto il nome del programma

  4. Eros Pedrini says:

    Ciao Ferro,
    si anche Scratch si basa sulle stesse librerie e infatti sono molto simili dal punto di vista dell’interfaccia 🙂
    Spero che adesso (che è passato un po’ di tempo dall’inizio della beta) siano più veloci a dare gli account 🙂

    P.S. grazie per il link a “Scratch”… lo volevo mettere anche io, ma poi lo avevo perso 🙂

    cheers

  5. giuriiagiuria says:

    In realtà il copia-incolla si può fare ma solo usando i tasti ctrl-C – ctrl-V : funziona con blocchi minimi ma anche con macro blocchi già “incastrati” (se selezioni il blocco più esterno allora vengono copiati anche quelli indentati più internamente). Funziona solo all’interno dello stesso progetto.

    Diciamo che a parte le limitazioni, sviluppare con appinventor aiuta a capire certi meccanismi importanti di questo meraviglioso SO, come ad esempio le Activities.

    Ovviamente la via del Java con il plug-in su eclipse resta la strada maestra …

  6. Eros Pedrini says:

    Ciao giuriiagiuria,
    e grazie 🙂 sia (a) per essere passato e aver commentato, che (b) per il suggerimenti sul Ctrl-C, Ctrl-V 🙂 Non so come mi sia sfuggito… e non sai come mi dispiace: perché rifare molte volte gli stessi “schemi” mi ha dato un poco sui nervi 😛 Ho provato ed effettivamente funziona… anche se non sempre: ad esempio riesco benissimo a copiare e incollare blocchi (elementari) appena inseriti, ma non ci sono riuscito con blocchi “già programmati” 🙁

    Comunque concordo completamente con te, per quanto riguarda la funzionalità primaria di Google App: ottimo strumento didattico 🙂

    cheers

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>