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
- AAB
- AIA
- Algoritmo
- Androidiani
- API
- APK
- Argomenti
- Array
- ASCII
- ASD
- Asincrono e sincrono
- Blocco
- Blockly
- Bug e debug
- Case sensitive
- Cassetto
- Classe
- Codici/Caratteri speciali
- Commento
- Compilatore
- Componenti
- Comportamenti
- Dropdown (a cascata)
- Eccezione
- Editor dei blocchi
- Eredità
- Evento guidato
- Funzione
- Incapsulamento
- Informatica (Computer science)
- Liste
- Loop (Ciclo continuo)
- Metodo
- Mutator
- Oggetto
- Parametro
- Progettazione
- Proprietà
- Scope
- Sintassi
- Sistema Operativo
- Spina/presa
- Tabelle verità
- 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
Vi siete mai chiesti come mai nella pagina Contatti, alcuni siti hanno una porzione di pagina che si collega a Google Maps?
Oppure, come è possibile avere chatgpt nelle app che creiamo con le nostre piattaforme di visual coding?
Le API sono 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:
- prima i caratteri speciali
- i numeri
- altri caratteri speciali
- le lettere maiuscole
- quelle minuscole
- 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 |
Sì |
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 (nel nostro esempio i numeri 5 e 7) 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 |
0 | 0 | F |
0 | 7 | F |
5 | 0 | 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 |
0 | 0 | F |
0 | 7 | V |
5 | 0 | 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/12/2024 | |
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.