Blockley

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 28 mai 2020; verificările necesită 2 modificări .
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] .

Caracteristici

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] .

Internaționalizare

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] .

Istorie

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 .

Implementare

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.

Editor grafic Blockley

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.

Limba Blockley

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.

Generatoare de cod Blockley

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ă .

Aplicații care folosesc Blockley

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] .

Comparație cu sisteme similare

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.

Note

  1. http://www.wired.com/2012/06/google-blockly/
  2. Lansare Q4 2020 google/blockly - 2020.
  3. Cade Metz. Google Blockly vă permite să pirateți fără tastatură  // cu fir . - 2012. - Nr 6 .
  4. djwm . Google Blockly introduce programarea vizuală în browser , The H (13 iunie 2012, 11:40). Arhivat din original pe 27 septembrie 2020. Preluat la 6 aprilie 2015.
  5. Ora codului . Data accesului: 26 decembrie 2014. Arhivat din original pe 26 decembrie 2014.
  6. Semionenkov, Mihail. Mediu de programare grafică Blockly (Blockley)  // Informatică: jurnal. - 2014. - Nr. 3 . Arhivat din original pe 27 mai 2016.
  7. Secțiunea Blockly Arhivată 5 septembrie 2021 la Wayback Machine pe Translatewiki.net
  8. Traducere - Blockly - Dezvoltatori Google . Consultat la 9 aprilie 2015. Arhivat din original pe 24 martie 2015.
  9. Grupuri Google . Consultat la 7 aprilie 2015. Arhivat din original pe 22 ianuarie 2011.
  10. Instalare - Blockly - Google Developers . Consultat la 9 aprilie 2015. Arhivat din original pe 24 martie 2015.
  11. Blocuri personalizate - Blockly - Dezvoltatori Google . Consultat la 9 aprilie 2015. Arhivat din original pe 24 martie 2015.
  12. Blockly Games - Jocuri pentru programatorii de mâine. . Preluat la 28 septembrie 2014. Arhivat din original la 4 mai 2020.
  13. 1 2 Todd R. Weiss. Google le prezintă copiilor în codificare prin intermediul proiectului Blockly Games . eWeek (17 august 2014). Data accesului: 11 aprilie 2015.
  14. Oricine poate învăța | code.org . Consultat la 7 aprilie 2015. Arhivat din original pe 26 aprilie 2020.
  15. Kyle Russell. Code.org lansează Code Studio, un set de instrumente și un curriculum pentru predarea programării copiilor . TechCrunch (11 septembrie 2014). Consultat la 6 aprilie 2015. Arhivat din original la 22 februarie 2018.
  16. Realizat cu Cod . Consultat la 7 aprilie 2015. Arhivat din original pe 29 aprilie 2020.
  17. Steve Dent. Google Made with Code încurajează fetele să îmbrățișeze informatica . engadget (19 iunie 2014). Consultat la 6 aprilie 2015. Arhivat din original pe 13 martie 2015.
  18. Exemple - Blockly - Dezvoltatori Google . Consultat la 7 aprilie 2015. Arhivat din original pe 24 martie 2015.
  19. Fred Lin. Blockly Duino . Preluat la 11 mai 2020. Arhivat din original la 27 mai 2020.
  20. LearnToMod . Consultat la 7 aprilie 2015. Arhivat din original pe 7 aprilie 2015.
  21. Klint Finley. Noul mod Minecraft vă învață codul în timp ce jucați  // Prin cablu . - 2014. - Nr 8 .
  22. Verge3D . Soft8Soft. Preluat la 14 iunie 2018. Arhivat din original la 14 iunie 2018.
  23. Shperk, Anatoly. Blockley merge la școală. Va veni? (30.11.2013).  (link indisponibil)
  24. Dodonova, Ekaterina. Ziua codului (23.12.2014). Data accesului: 26 decembrie 2014. Arhivat din original la 30 decembrie 2014.
  25. code.org  . _ Preluat la 10 iunie 2022. Arhivat din original la 7 iunie 2022.

Literatură

Link -uri