Che cos’è Blockly?
Se si desidera programmare un sito web che risponda all’input dell’utente, è necessario affrontare i linguaggi di programmazione. Anche lo sviluppo di un’app richiede, di solito, un linguaggio di programmazione complesso. Anche se ormai esistono ottime risorse didattiche per Python, JavaScript, ecc., rimane difficile assimilare le routine e i comandi complessi. Il principiante, che ha voglia di cimentarsi con la programmazione, o chi ha solo bisogno di un piccolo script di solito si sente sopraffatto dagli strumenti tradizionali.
Blockly entra in gioco proprio qui: Blockly è un progetto di Google che rappresenta lunghe righe di codice basate su testo in blocchi colorati. Questi blocchi possono essere trascinati e combinati per creare in pochi istanti una sintassi complessa. Blockly è una libreria che fornisce un editor di codice visuale. La sintassi dei programmi creati in questo modo rimane in background. Se si utilizza Blockly, è possibile creare facilmente operazioni complesse senza preoccuparsi dei comandi esatti di ogni linguaggio di programmazione.
Perché utilizzare Blockly?
L’uso di Blockly può avere motivazioni e obiettivi diversi. Ad esempio, se desiderate creare un sito web responsive ma non disponete di competenze di programmazione approfondite, questa raccolta vi consente di raggiungere rapidamente il vostro obiettivo. Anche gli sviluppatori di software professionisti possono utilizzare l’editor di codice visuale per creare rapidamente programmi più piccoli.
L’approccio ludico consente, inoltre, di comprendere rapidamente le relazioni durante la programmazione. È più facile comprendere l’affermazione “repeat 5 times” che “for int i = 0, i < 5, i++”, anche se entrambi hanno lo stesso significato. Pertanto Blockly viene utilizzato principalmente in ambienti di apprendimento. Blockly è particolarmente indicato per i bambini che vogliono fare i primi passi nel mondo dello sviluppo di software. Rappresentando visivamente le parti del codice, è possibile ottenere risultati sorprendenti in modo semplice e rapido.
L’interfaccia visiva rende la comprensione del codice chiara e semplice. Come i pezzi di un puzzle, i blocchi vengono agganciati l’uno all’altro per poi essere convertiti in codice. Sebbene Blockly stesso sia una libreria JavaScript, il codice sorgente può essere emesso direttamente in linguaggi diversi. Per impostazione predefinita, il codice è disponibile in JavaScript, Python, PHP, Lua, Dart e XML. L’editor può essere usato facilmente in un browser.
La programmazione visuale non è più una novità. Molti provider la stanno già utilizzando per creare siti web. Come Blockly, anche i kit per siti web offrono un’interfaccia semplice e intuitiva. Il codice scritto viene eseguito completamente in background, in modo che principianti e appassionati possano raggiungere rapidamente i loro obiettivi.
Blockly è molto simile a Scratch. Blockly è più focalizzato sugli sviluppatori professionisti in un contesto aziendale, mentre Scratch è principalmente inteso come strumento didattico.
Quali funzionalità offre Blockly?
L’app Blockly, l’editor di codice visuale, offre otto categorie con diverse funzioni:
- La categoria Logica descrive le azioni.
- I Cicli sono strutture di controllo che si ripetono fino a quando non si verifica una determinata azione.
- La categoria Matematica padroneggia vari tipi di calcolo e può anche emettere numeri casuali.
- La categoria Testo può accedere agli input e generare output individuali.
- Gli Elenchi generano liste in combinazione con i blocchi delle categorie Testo o Matematica.
- La categoria Colore può essere applicata al colore del testo o dello sfondo.
- La categoria Variabili può essere utilizzata per calcoli o funzioni.
- La categoria Funzioni descrive il comportamento della pagina quando viene rilevato un particolare input.
Le combinazioni possibili tra i blocchi sono diverse. Cicli e Funzioni possono essere collegati alle categorie Logica e Variabili. Logica e Variabili incorporano, a loro volta, le categorie Matematica, Testo, Elenchi e Colore. Queste poche combinazioni coprono molte delle basi dei diversi linguaggi di programmazione.
Esempio di Blockly
Il funzionamento dei blocchi è molto intuitivo: si apre una categoria e con il mouse si trascina il blocco di codice desiderato nell’area di lavoro, dove i singoli blocchi possono essere riorganizzati e quindi collegati tra di loro. Se una combinazione non è possibile, il blocco non scatta in posizione e quindi non viene incluso nel codice sorgente. Singole parti del puzzle o gruppi di blocchi possono anche essere facilmente eliminati dall’area di lavoro. Le righe di codice corrispondenti vengono quindi rimosse anche dal codice sorgente.
Ad esempio, se desiderate connettere un pop-up a un contatore dovete procedere come segue:
Questo semplice codice può ora essere tradotto anche nei diversi linguaggi di programmazione. In JavaScript, il codice sorgente si presenterebbe così:
count var;
count = 1;
while (count <= 3) {
window.alert('Hello World!');
count = count + 1;
}
Questo è, ovviamente, solo un esempio di codice molto primitivo. L’output di “Hello World!” costituisce comunque sempre la prima lezione quando si impara un linguaggio di programmazione.
In quali settori si utilizza Blockly?
Anche se l’applicazione in sé è più destinata a studenti e principianti, la libreria vera e propria è rivolta agli sviluppatori. Gli sviluppatori possono creare facilmente i propri blocchi con Funzioni e Logica e sviluppare dalla libreria un’app indipendente.
Chi vuole sviluppare i propri blocchi all’interno di Blockly, ha due opzioni: da un lato, c'è l’API di JavaScript, che viene utilizzata principalmente per le applicazioni web, dall’altro, è disponibile un’interfaccia JSON, che funziona anche su Android e iOS. Tuttavia, nel formato JSON, è possibile scegliere soltanto tra i blocchi più utilizzati. Una documentazione completa è disponibile su GitHub. Anche Google offre una guida dettagliata sullo sviluppo e l’utilizzo di Blockly.
Su YouTube, Stack Overflow e GitHub sono ormai disponibili innumerevoli tutorial e materiale informativo su come utilizzare la libreria in modo efficiente. La programmazione di vari interruttori e ricevitori per il controllo nella Smart Home è solo una delle tante possibilità. Dal momento che il programma può essere combinato con un’ampia varietà di linguaggi, potete dare sfogo alla vostra creatività.
Conclusione: una buona alternativa ai linguaggi di programmazione complessi
Se desiderate imparare i linguaggi di programmazione, amerete il fatto che il programma scrive solo sintassi corrette e non dimentica mai il punto e virgola o le virgolette. Il principio ludico rende più facile lavorare direttamente su progetti anche da principianti, consentendo quindi di fare esperienza. Imparerete rapidamente le possibilità del linguaggio di programmazione e potrete progettare istintivamente prototipi e modelli.
L’utilizzo di Blockly è molto semplice, ma può velocizzare significativamente il flusso di lavoro. La libreria può essere facilmente integrata nei progetti esistenti e rende la realizzazione di progetti di grandi dimensioni ancora più facile. Tuttavia, è importante familiarizzare con le sue funzioni. Grazie alla sua grande varietà linguistica, il codice sorgente creato con Blockly può essere integrato in molti progetti. Questo è il motivo per cui la soluzione open source non è interessante solo per i principianti.