blockley | |
---|---|
Tip de | programare vizuală , limbaj de programare și bibliotecă de funcții |
Autor | Google [1] |
Dezvoltatori |
Neil Fraser Ellen Spertus Mark Friedman |
Scris in | JavaScript |
Prima editie | 2012 |
Platformă hardware | web |
ultima versiune |
|
Licență | Licență Apache |
Site-ul web | developers.google.com/bl… |
Fișiere media la Wikimedia Commons |
Blockly este o bibliotecă pentru crearea unui mediu de programare vizuală care poate fi încorporată într-o aplicație web arbitrară . Blockly include un editor grafic care vă permite să creați programe din blocuri și generatoare de cod pentru pregătirea execuției programului într-un mediu de aplicație web [3] [4] .
Dezvoltat și susținut de Google din 2012. Distribuit gratuit cu codul sursă sub licența Apache 2.0 .
Publicul țintă al proiectului sunt programatorii care dezvoltă aplicații web care includ Blockley, în principal în scopuri educaționale.
Pentru a crea programe, utilizatorul trebuie să mute blocurile grafice fără a recurge la tastare, cu excepția introducerii unor valori constante. Programarea vizuală în Blockley eliberează utilizatorul de controlul asupra corectitudinii sintaxei programului, ceea ce este de mare ajutor în etapa de instruire inițială a utilizatorului în programare.
Când găzduiește o aplicație web cu Blockly pe Google App Engine , utilizatorul poate salva programul creat în cloud Google cu posibil acces la program de către alți utilizatori.
Cod sursă deschis și gratuit, documentarea interfețelor Blockley, internaționalizarea proiectului atrage programatori care dezvoltă aplicații care includ Blockley la Blockley. Ca urmare, numărul utilizatorilor finali Blockley este de zeci de milioane [5] .
Blockley s-a concentrat inițial pe internaționalizare, nucleul lui Blockley a fost tradus în zeci de limbi, inclusiv rusă [6] . Pentru a facilita traducerea în alte limbi a proiectelor Blockly și Blockly Games, dezvoltatorii proiectului au deschis secțiunea corespunzătoare pe platforma wiki Translatewiki.net [7] [8] .
Autorii numesc sistemul App Inventor predecesorul imediat al Blockley . App Inventor, la rândul său, ca multe alte sisteme din această clasă, își datorează aspectul succesului binecunoscutului sistem Scratch . Neil Fraser a scris Blockley pentru a înlocui biblioteca OpenBlocks folosită în AppInventor [ 9] , în care calitate, printre altele, este utilizată în prezent.
Blockley a fost lansat în 2012.
Autori: Neil Fraser , cu contribuții de la Ellen Spertus și Mark Friedman .
Versiuni: Blockley nu se concentrează pe lansări pe termen lung: la sfârșitul anului 2014, produsul este actualizat continuu, iar cea mai recentă versiune este disponibilă pe GitHub .
Blockley este implementat ca o bibliotecă de fișiere JavaScript . Blockly poate fi încorporat într-o aplicație web [10] . Este posibilă extinderea limbajului vizual al Blockly prin definirea de noi blocuri, inclusiv setarea formei acestui bloc (și modalități de a-l schimba dinamic) și codul programului generat de acest bloc [11] .
Blockly este executat pe partea clientului, adică poate fi folosit fără un server web.
Editorul de grafică Blockly operează cu două tipuri de obiecte: blocuri și inserții.
Blocurile reprezintă instrucțiuni, structuri de control, proceduri, funcții, apeluri de procedură în limbaj. Inserțiile sunt folosite pentru a decora constante, expresii și apeluri de funcții. Compilarea unui program cu un editor grafic este ca și cum ai aduna un puzzle care a fost tăiat în bucăți. După construirea programului, puteți apela generatorul de cod și rula codul generat într-un mediu de aplicație web care include Blockly.
Editorul grafic exercită un control parțial asupra tipurilor, împiedicând utilizarea inserțiilor de tip greșit în situații elementare.
Setul de structuri de control din nucleul Blockley este tradițional pentru limbajele de programare procedurală: acestea sunt mai multe tipuri de bucle și instrucțiuni condiționate.
Blockly vă permite să creați proceduri și funcții cu parametri.
Un set destul de dezvoltat de funcții algebrice și trigonometrice este încorporat în limbaj, este acceptat un set complet de expresii logice.
Limbajul conține un set de proceduri pentru lucrul cu text și liste.
Toate variabilele Blockley sunt globale.
Blockly funcționează cu următoarele tipuri de date: numere, șiruri, booleeni, culori. Controlul tipului se realizează parțial: editorul nu permite utilizarea inserțiilor acolo unde acestea nu se potrivesc tipului, dar în construcții mai complexe este posibilă nepotrivirea tipului.
I/O încorporat Blockly oferă doar intrare și ieșire rudimentară de la tastatură a expresiilor individuale într-o fereastră pop-up.
La sfârșitul anului 2014, codul lui Blockley include un set de generatoare de cod pentru următoarele limbi: JavaScript , Python , Dart . Rezultatul generatoarelor poate fi disponibil utilizatorului printr-o interfață grafică. Această caracteristică permite Blockley să fie utilizat în predarea limbajelor de programare industrială .
Un exemplu de utilizare a Blockly este aplicațiile educaționale precum Blockly Games, în versiunea rusă - „Jocuri pentru viitorii programatori”. [12] [13] .
Organizația code.org [14] a dezvoltat o serie de cursuri bazate pe Blockley pentru educația inițială de programare. Aceste cursuri sunt foarte populare în întreaga lume, mai ales în timpul campaniei „Ora codului” [15] . La sfârșitul anului 2014, cursurile au fost parțial rusificate.
O altă școală de programare online, Made with Code [16] se adresează fetelor [17] . Google a investit 50 de milioane de dolari în acest proiect [13] .
Versiunile moderne de App Inventor folosesc Blockly ca editor vizual de programe. Pagina proiectului Blockly de pe Google oferă link-uri către o serie de alte jocuri educaționale și aplicații web [18] .
BlocklyDuino [19] este un editor grafic pentru programarea controlerelor Arduino , popular în robotica educațională și amatoare.
LearnToMod [20] este o extensie comercială Minecraft care permite utilizatorilor să-și creeze propriile modificări ale jocului folosind Blockly sau JavaScript pur [21] .
Verge3D este un motor 3D bazat pe browser care exportă scene direct din editorii standard ( Autodesk 3ds Max , Blender ), cu posibilitatea de a adăuga scenarii interactive folosind extensia Blockley Puzzles [22] .
La clasa de software pentru învățământul elementar în programare în limba rusă, este potrivit să comparăm Blokli cu sistemul Scratch , de asemenea, rusificat . Potrivit educatorilor, aplicațiile Blockley se potrivesc mai bine în procesul de învățare decât Scratch [23] .
Educatorii au folosit cu succes aplicațiile lui Blockley pentru activități de popularizare a programării în rândul școlarilor [24] .
În lumea vorbitoare de limba engleză, numărul de limbaje de programare vizuală pentru educație este considerabil mai larg, dar succesul cursurilor de formare bazate pe Blockley create de organizația americană non-profit code.org [25] îl distinge și acolo pe Blockley.