Glossario

AppediA.it ha sempre un occhio di riguardo per chi sta iniziando questa difficile ma divertente arte della programmazione. In questo glossario troverete i termini tecnici più utilizzati nel variegato mondo del coding. (NB: ogni suggerimento o aggiunta da parte vostra alla posta elettronica contatto at appedia.it è apprezzato). Grazie.

Sommario

  1. AAB
  2. AIA
  3. Algoritmo
  4. Androidiani
  5. API
  6. APK
  7. Argomenti
  8. Array
  9. ASCII
  10. ASD
  11. Asincrono e sincrono
  12. Blocco
  13. Blockly
  14. Bug e debug
  15. Case sensitive
  16. Cassetto
  17. Classe
  18. Codici/Caratteri speciali
  19. Commento
  20. Compilatore
  21. Componenti
  22. Comportamenti
  23. Dropdown (a cascata)
  24. Eccezione
  25. Editor dei blocchi
  26. Eredità
  27. Evento guidato
  28. Funzione
  29. Incapsulamento
  30. Informatica (Computer science)
  31. Liste
  32. Loop (Ciclo continuo)
  33. Metodo
  34. Mutator
  35. Oggetto
  36. Parametro
  37. Progettazione
  38. Proprietà
  39. Scope
  40. Sintassi
  41. Sistema Operativo
  42. Spina/presa
  43. Tabelle verità
  44. Variabili

AAB (formato file)

Verso maggio 2020 è stata aggiunda la nuova versione di compilazione Android App Bundles (.aab), oltre ai soliti file APK correnti. Questo formato è stato progettato da Google per ottimizzare la consegna delle app tramite Google Play Store generando automaticamente APK specifici della piattaforma. Non sostituisce i file APK in quanto non possono essere installati direttamente sul device e consentono solo di produrre app più ‘professionali’ nella piattaforma Google Play.

Per chi è interessato al documento di progettazione può trovarlo nel Drive Google condiviso qui.

AIA (formato file)

File del codice sorgente di MIT App Inventor. Esportando questo file, esportate l’interfaccia grafica e le proprietà del Design e i blocchi dei Block. Insomma, tutto il vostro progetto che potrà essere modificato in seguito.

Se per sviluppare utilizzi la piattaforma Thunkable, ti può interessare Come Importare Progetti da App Inventor 2 a Thunkable.

Algoritmo

Una procedura, cioè un insieme ordinato di passi, o un elenco di istruzioni per risolvere un problema o realizzare un compito.

Androidiani

Utilizzatori di dispositivi con sistema operativo Android. Invece, chi usa Apple, si dovrebbe chiamare Appleiano.

API e versioni di Sistemi Operativi Android

Un insieme di regole e protocolli che consentono a diverse applicazioni software di comunicare e interagire tra loro.

(fonte www.Wikipedia.org ) In un programma informatico, con application programming interface (API), si indica un insieme di procedure (in genere raggruppate per strumenti specifici) atte all’espletamento di un dato compito; spesso tale termine designa le librerie software di un linguaggio di programmazione.

Versioni diverse di Android possono avere lo stesso livello API (vedi Kernel Linux di Android), ma l’API è un riferimento più preciso.

https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels

APK (formato file)

I file .APK sono file di tipo compresso che rappresentano i file eseguibili (Android Package) del sistema operativo Android.

Un modo alternativo e preferito da Google per creare app da inviare al Play Store è quello di compilare non più come APK ma come AAB . Gli App Bundle (file AAB) possono essere utilizzati solo per caricare un’app in pacchetto sul Google Play Store e non possono essere caricati direttamente su un dispositivo o un emulatore. (vedi release nb187).

Un file APK è un archivio che contiene in genere le seguenti cartelle:

  • META-INF
  • res

e file:

  • AndroidManifest.xml
  • classes.dex
  • resources.arsc

Argomenti

Il valore effettivo passato a una funzione quando viene chiamata.

Spesso in Informatica, gli input a procedure o eventi sono chiamati argomenti. Questi argomenti sono variabili locali il cui ambito è all’interno di quella procedura o evento. Vedi: https://www.appedia.it/2021/04/21/argomenti-delle-procedure/

Array

Una struttura di dati che memorizza una raccolta di elementi dello stesso tipo, accessibili utilizzando un indice.

ASCII tabella

(fonte www.Wikipedia.org ) Tabella con cui si codificano i caratteri. La tabella è formata da coppie Numero decimale (da 32 a 126) > Carattere. Nell’elenco sono ordinati:

  1. prima i caratteri speciali
  2. i numeri
  3. altri caratteri speciali
  4. le lettere maiuscole
  5. quelle minuscole
  6. altri caratteri speciali.
Dec Glifo Dec Glifo Dec Glifo
32 Spazio 64 @ 96 `
33 ! 65 A 97 a
34 66 B 98 b
35 # 67 C 99 c
36 $ 68 D 100 d
37 % 69 E 101 e
38 & 70 F 102 f
39 71 G 103 g
40 ( 72 H 104 h
41 ) 73 I 105 i
42 * 74 J 106 j
43 + 75 K 107 k
44 , 76 L 108 l
45 77 M 109 m
46 . 78 N 110 n
47 / 79 O 111 o
48 0 80 P 112 p
49 1 81 Q 113 q
50 2 82 R 114 r
51 3 83 S 115 s
52 4 84 T 116 t
53 5 85 U 117 u
54 6 86 V 118 v
55 7 87 W 119 w
56 8 88 X 120 x
57 9 89 Y 121 y
58 : 90 Z 122 z
59 ; 91 [ 123 {
60 < 92 \ 124 |
61 = 93 ] 125 }
62 > 94 ^ 126 ~
63 ? 95 _    

ASD (application specific directory)

Directory specifica dell’app equivalente a:

/storage/emulated/0/Android/data/

Leggi qui

Asincrono/Sincrono (accesso ai dati)

Nei componenti di archiviazione, l’acceso dei dati può avvenire in modo asincrono e sincrono. Se vogliamo fare un esempio, la conversazione di persona o telefonica è un metodo sincrono, invece il fax, la chat e il cloud sono di tipo asincrono. In particolare i servizi basati sul web generalmente sono di tipo asincrono perchè funzionano con la chiamata/risposta e lo potete vedere con i blocchi del CloudDB che contengono la chiamata STOREVALUE e la risposta ottenuta GOTVALUE.

Una semplice tabella chiarificatrice:

Database

CloudDB

TinyDB

Velocità di accesso

Lenta

Veloce

Luogo di archiviazione

Web

App

Tipo di accesso

Asincrono

Sincrono

Condivisione tra utenti

No

Blocco

App Inventor è un linguaggio di programmazione a blocchi. I blocchi sono i pezzi che colleghi insieme per dire alla tua app cosa fare. Possono essere trovati nell’editor dei blocchi.

Blockly

Blockly è il nome dell’editor di programmazione visivo utilizzato da App Inventor per creare i blocchi nel browser.

Bug & debug (insetto)

Un errore o un difetto in un programma che impedisce il funzionamento come previsto. Invece, il debugging è il processo d’ identificazione e correzione di errori o difetti in un programma.

Case sensitive

Che tiene conto del maiuscolo o minuscolo. Fondamentale per la creazione di password forti.

Cassetto

I gruppi di blocchi Incorporato. Un esempio di cassetti sono Controllo, logici, matematici etc. etc.

Classe

Un progetto per la creazione di oggetti che definiscono comportamenti.

Codici/Caratteri speciali

Vengono utilizzati in molti linguaggi di programmazione come il Javascript:

alert("questa è una riga \n e questa è un'altra riga");

Sequenza Descrizione Designazione standard
\’ Virgolette singole: per rappresentare questo carattere che altrimenti è letto come delimitatore di stringa
\” Virgolette doppie: per rappresentare questo carattere che altrimenti è letto come delimitatore di stringa
\& La ‘E’ commerciale: per rappresentare il carattere ‘&’ altrimenti usato come operatore logico
\b Backspace BS
\n Nuova riga (tipicamente usato per andare a capo) NL (LF)
\r Ritorno carrello (meno usato, in genere è accoppiato con n) CR
\t Tab orizzontale HT
\f Avanzamento pagina FF
\\ Backslash: serve per scrivere il cararattere backslash altrimenti interpretato come sequenza di escape  

Commento

I commenti consentono di scrivere promemoria o commenti rapidi su blocchi di codice. Puoi usarli per spiegare cosa fanno determinati blocchi o cosa vuoi fare in seguito. Poiché i commenti non vengono eseguiti, sono per l’utente e non per il computer. L’uso dei commenti può consentire a te o ad altri di comprendere meglio il tuo codice quando ci tornerai in seguito. Puoi aggiungere o rimuovere un commento facendo clic con il pulsante destro del mouse su un blocco.

Compilatore

Un programma che traduce il codice sorgente scritto in un linguaggio di alto livello (come il Basic, C, Python e anche quello visual come App Inventor 2), nel codice macchina che può essere eseguito da un computer.

Componente

I componenti sono le parti della tua app che eseguono azioni per te. Nella schermata di progettazione, i componenti vengono trascinati dalla palette dei componenti e posizionati sul telefono. Esempi di componenti sono Label, Sound o Button.

Comportamenti

Si dice che un’app abbia un comportamento. Il comportamento di un’app è il modo in cui l’app risponde agli eventi esterni ed avviati dall’utente.

Dropdown (a cascata)

Alcuni blocchi hanno una piccola freccia a discesa a destra del nome del blocco. È possibile fare clic su questa freccia per modificare il nome e la funzione del blocco. Il blocco get è un esempio di menu a discesa.

Eccezione

Un evento che si verifica durante l’esecuzione di un programma, interrompendo il flusso normale e richiede una gestione speciale.

Editor dei blocchi

La schermata che appare facendo clic sul pulsante Blocchi nella schermata di progettazione. Qui è dove dici alla tua app cosa fare.

Eredità (Inheritance)

Un concetto nella programmazione orientata agli oggetti in cui una classe eredita proprietà e comportamenti di un’altra classe, consentendo il riutilizzo del codice e creando una gerarchia di classi

Evento guidato

Si dice che un’app è guidata da eventi (event driven) perché dipende dagli eventi. Usando i gestori di eventi (event handlers), dici alla tua app che quando si verifica un evento, deve eseguire un’attività. Ciò impedisce al tuo telefono di rimanere in attesa per molto tempo permettendo quindi a tutti gli eventi in coda, di procedere senza aspettare. Diciamo che il flusso del programma è determinato dagli eventi.

Funzione

Un blocco di codice denominato che esegue un’attività specifica e può essere chiamato più volte durante un programma.

Incapsulamento

Il raggruppamento di dati e metodi correlati all’interno di una classe, nascondendo i dettagli di implementazione interna dall’accesso esterno

Informatica (Computer science)

L’informatica (Computer science in ENG) è la scienza che si occupa dell’ordinamento, del trattamento e della trasmissione delle informazioni per mezzo dell’elaborazione elettronica, la quale rende possibile gestire e organizzare le ingenti masse di dati prodotte dal moderno sviluppo sociale, scientifico e tecnologico (fonte: https://languages.oup.com/google-dictionary-it/).

Liste

Le liste o elenchi vengono utilizzate per memorizzare informazioni. Se desideri tenere traccia di tutti i nomi utente delle persone che utilizzano la tua applicazione, vorresti memorizzare tali informazioni in un elenco. Quando gli elementi vengono aggiunti a un elenco, vengono inseriti in una determinata posizione nell’elenco. La posizione di un elemento in un elenco è spesso chiamata indice. In App Inventor 2, il primo elemento di un elenco ha un indice di 1, il secondo ha un indice di 2 e così via.

Loop (Ciclo continuo)

Un costrutto di programmazione che consente l’esecuzione ripetuta di un blocco di codice fino a quando non viene soddisfatta una determinata condizione.

Metodo

Una funzione definita all’interno di una classe che esegue un’azione o un comportamento specifico.

Mutator

Il “Mutatore” (termine bruttissimo, lo so n.d.r.) consente a determinati blocchi di espandersi, ridursi o persino modificare la loro funzionalità.

Qualsiasi blocco che ha una casella blu con un ingranaggio è considerato un blocco mutatore.
Cosa fa un mutatore? I mutatori cambiano forma. Facendo clic sull’icona blu, l’utente può trascinare ulteriori blocchi più piccoli nel blocco mutatore più grande, modificando così la forma e la funzionalità del blocco originale. Facendo nuovamente clic sull’icona si ridurrà a icona la finestra dei blocchi aggiuntivi e verrà visualizzato il blocco modificato.

Oggetto

Un’istanza di una classe che rappresenta un’entità specifica con il proprio stato e comportamento unici.

Parametro

Una variabile utilizzata in una dichiarazione di funzione per rappresentare un valore di input che la funzione prevede.

Se ad esempio la funzione deve cancolare l’area del triangolo e quindi restituire un risultato, i due parametri sono i valori della base.

Progettazione o Design

La schermata in cui è possibile trascinare e rilasciare i componenti e progettarli utilizzando l’interfaccia utente.

Proprietà

Ogni componente ha proprietà che possono essere modificate o inizializzate sul lato destro nella schermata Designer. Possono anche essere modificate o utilizzate nella vista Blocchi, utilizzando blocchi getter o setter per le proprietà.

Sintassi

L’insieme di regole e convenzioni che definiscono la struttura e il formato di dichiarazioni valide in un linguaggio di programmazione.

Nell’italiano un esempio di errore sintattico è: Mi molto dispiace (inversione ordine). Nella programmazione informatica può essere anche un mancato punto e virgola come simbolo di fine riga  (per quei linguaggi che lo impongono).

I Visual Code che esaminiamo in questo sito bypassano questi ostacoli (e vi assicuro che è un grandissimo vantaggio), sia di apprendimento che di corretta scrittura, perchè i blocchi che usiamo sono gia “precompilati” e bisogna sono incastrarli tra loro. Comunque, nel caso sbagliassimo qualcosa esiste sempre un sistema interno di avviso degli errori.

Sistema Operativo

Immagina il tuo computer come una casa. Il sistema operativo (SO oppure OS Operative System) è come l’impianto elettrico:

  • Gestisce l’energia: Controlla il flusso di energia elettrica, accendendo e spegnendo le luci, alimentando gli elettrodomestici e regolando la temperatura.
  • Permette il funzionamento: Senza l’impianto elettrico, la casa sarebbe buia e fredda, e gli elettrodomestici non funzionerebbero.
  • Comunica con i dispositivi: Collega e fa comunicare tra loro prese, interruttori, lampadine e altri dispositivi elettrici.
  • Standardizza i dispositivi: Come trovi in ogni stanza lo stesso tipo di prese e interruttori, con il SO l’interfaccia grafica è standardizzata:
    • Tutte le finestre si comportano nella stessa maniera (apertura, chiusura, grafica …)
    • Le scorciatoie da tastiera si ripetono (CTRL+C è il comando del copia/incolla che puoi usare sul Desktop o all’interno dei programmi come Word)

Ora immagina il tuo computer come una rete di tubi:

  • Gestisce il flusso di dati: Il sistema operativo è come l’acqua che scorre nei tubi, trasportando informazioni da una parte all’altra del computer.
  • Permette l’utilizzo dei programmi: Senza il sistema operativo, non potresti utilizzare software come Word, Excel o Internet.
  • Comunica con le periferiche: Collega e fa comunicare tra loro tastiera, mouse, stampante e altri dispositivi.

In sintesi, il sistema operativo è il software fondamentale che permette al tuo computer di funzionare. È come l’infrastruttura delll’impianto elettrico: invisibile, ma essenziale per la vita quotidiana.

Ecco alcuni esempi di sistemi operativi:

  • Windows: il sistema operativo più diffuso al mondo, utilizzato su PC e tablet.
  • macOS: il sistema operativo di Apple, utilizzato su Mac e MacBook.
  • Linux: un sistema operativo open source, gratuito e personalizzabile.
  • Android: il sistema operativo per dispositivi mobili più diffuso al mondo, utilizzato su smartphone e tablet.

Spero che questa spiegazione ti sia stata utile!

Scope

Ambito, che può riferirsi a una Variabile (Ciclo di vita e raggio d’applicazione di una variabile, oppure alcune volte definito come Visibilità di una variabile) o all’archiviazione (Scoped Storage)

Spina/presa (plug/socket)

Quasi tutti i blocchi si possono incastratre agli altri come in un puzzle. Infatti, hanno una forma particolare: a spina/presa.

Proprio il nostro logo di AppediA.it ne è un esempio:

Nella parte destra del blocco APP c’è una spina, in cui entra la presa del blocco EDIA.IT.

Tabelle di verità

Le Tabelle o Tavole della verita, sono schemi utili per risolvere espressioni che utilizzano operatori booleani (vedi Blocchi incorporati logici).

Ad esempio per determinare se il numero 5 è maggiore di 2 usiamo la formula 5>2 che ci ritorna il risultato vero.

Ma se vogliamo verificare se due numeri siano contemporaneamente superiori a 2 useremo una formula del tipo: (A AND B)>2. Possiamo schematizzare il “pensiero” della macchina utilizzando la seguente tabella di verità (V=VERO F=FALSO):

A B A AND B
F F F
F V F
V F F
V V V

La tabella di verità risponde Vero solo quando i due numeri sono entrambi maggiori di 2. Nelle colonne di A e B utilizziamo numeri che sono sì o no maggiori di 2:

A B A AND B
1 0 F
1 5 F
5 1 F
5 7 V

La proposizione risulta Vero solo quando i due numeri sono 5 e 7. In tutti gli altri tre casi il risultao è Falso .

La stessa cosa si può fare anche con l’operatore OR (oppure). Il test è:”quando almeno un numero è maggiore di 2″. Data la tabella OR:

A B A OR B
F F F
F V V
V F V
V V V

nell’esempio pratico il risultato è questo: risulta Vera quando almeno un numero (uno o l’altro) o entrambi risultano maggiori di 2:

A B A OR B
1 0 F
1 5 V
5 1 V
5 7 V

Va da sé che nella realtà queste tabelle possono servire per controllare affermazioni che, ad esempio, troviamo costantemente nei giochi di logica come questo problema:

A,B e C sono tre amici e vogliamo sapere se B è laureato, conoscendo che:

  • almeno uno di loro è laureato
  • che se A è laureato, anche B lo è
  • che se C è laureato, anche A lo è
  • solo uno tra B e C è laureato.

Variabili

Una variabile è un contenitore che contiene un valore. In App inventor, esistono due tipi di variabili: globali e locali. La Portata della variabile (Variable Scope) è la parte del programma in cui una variabile è accessibile e può essere utilizzata. Infatti la variabile è globale quando deve esistere in tutta l’App, ad esempio anche tra schermate diverse. Locale solo quando esiste in una porzione di codice.

  Aggiornato al 02/10/2023
   
   

PDF Lista comparazione dei componenti di AI2 KODULAR THUNKABLEX agg.20210911

Vuoi avere più informazioni sul Coding visuale? Vai alla pagina dei Blocchi incorporati dove potrai imparare a scrivere il linguaggio di programmazione per App Inventor 2, Kodular e Thunkable X. Visita la pagina del Blog con le ultime notizie sulle le tre piattaforme. Nella pagina Documentazione troverai i collegamenti ai forum, il glossario, i link ai siti dei migliori programmatori, i download e tanti altri accessori.