Blockley

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 28. maj 2020; checks kræver 2 redigeringer .
blockley
Type visuel programmering , programmeringssprog og funktionsbibliotek
Forfatter Google [1]
Udviklere Neil Fraser
Ellen Spertus
Mark Friedman
Skrevet i JavaScript
Første udgave 2012
Hardware platform web
nyeste version
Licens Apache licens
Internet side developers.google.com/bl...
 Mediefiler på Wikimedia Commons

Blockly er et  bibliotek til at skabe et visuelt programmeringsmiljø , der kan indlejres i en vilkårlig webapplikation . Blockly inkluderer en grafisk editor, der giver dig mulighed for at oprette programmer fra blokke, og kodegeneratorer til at forberede programkørsel i et webapplikationsmiljø [3] [4] .

Funktioner

Udviklet og understøttet af Google siden 2012. Frit distribueret med kildekode under Apache 2.0-licensen .

Målgruppen for projektet er programmører, der udvikler webapplikationer, der inkluderer Blockley, hovedsageligt til uddannelsesformål.

For at oprette programmer skal brugeren flytte grafiske blokke uden at ty til at skrive, bortset fra at indtaste konstante værdier. Visuel programmering i Blockley frigør brugeren fra kontrol over korrektheden af ​​programsyntaksen, hvilket er til stor hjælp på stadiet af indledende brugertræning i programmering.

Ved hosting af en webapplikation med Blockly på Google App Engine kan brugeren gemme det oprettede program i Google-skyen med mulig adgang til programmet af andre brugere.

Åben og gratis kildekode, dokumentation af Blockley-grænseflader, internationalisering af projektet tiltrækker programmører, der udvikler applikationer, der inkluderer Blockley til Blockley. Som et resultat er antallet af Blockley-slutbrugere i titusinder af millioner [5] .

Internationalisering

Blockley var oprindeligt fokuseret på internationalisering, Blockleys kerne er blevet oversat til snesevis af sprog, inklusive russisk [6] . For at lette oversættelsen til andre sprog af Blockly- og Blockly Games-projekterne har udviklerne af projektet åbnet den tilsvarende sektion på Translatewiki.net wiki-platformen [7] [8] .

Historie

Forfatterne kalder App Inventor -systemet for Blockleys umiddelbare forgænger . App Inventor skylder til gengæld, ligesom mange andre systemer i denne klasse, sit udseende til succesen med det velkendte Scratch -system . Neil Fraser skrev Blockley for at erstatte OpenBlocks-biblioteket brugt i AppInventor  [ 9] , i hvilken kapacitet det blandt andet bruges i øjeblikket.

Blockley blev udgivet i 2012.

Forfattere: Neil Fraser , med bidrag fra Ellen Spertus og Mark Friedman .   

Versioner: Blockley er ikke fokuseret på langsigtede udgivelser: i slutningen af ​​2014 opdateres produktet løbende, og den seneste version er tilgængelig på GitHub .

Implementering

Blockley er implementeret som et bibliotek af JavaScript- filer . Blockly kan indlejres i en webapplikation [10] . Det er muligt at udvide det visuelle sprog i Blockly ved at definere nye blokke, herunder at indstille formen på denne blok (og måder at ændre den dynamisk på) og programkoden genereret af denne blok [11] .

Blockly udføres på klientsiden, det vil sige, at den kan bruges uden en webserver.

Grafisk redaktør Blockley

Blockly-grafikeditor fungerer med to typer objekter: blokke og indstik.

Blokke repræsenterer udsagn, kontrolstrukturer, procedurer, funktioner, procedurekald på sproget. Indsæt bruges til at dekorere konstanter, udtryk og funktionskald. At kompilere et program med en grafisk editor er som at sammensætte et puslespil, der er skåret i stykker. Efter at have bygget programmet, kan du kalde kodegeneratoren og køre den genererede kode i et webapplikationsmiljø, der inkluderer Blockly.

Den grafiske editor udøver delvis kontrol over typerne, hvilket forhindrer brugen af ​​indstik af den forkerte type i elementære situationer.

Blockley sprog

Sættet af kontrolstrukturer i Blockley-kernen er traditionelt for proceduremæssige programmeringssprog: disse er flere typer sløjfer og betingede sætninger.

Blockly giver dig mulighed for at oprette procedurer og funktioner med parametre.

Et ret udviklet sæt algebraiske og trigonometriske funktioner er indbygget i sproget, et fuldgyldigt sæt af logiske udtryk understøttes.

Sproget indeholder et sæt procedurer til at arbejde med tekst og lister.

Alle Blockley-variabler er globale.

Blockly fungerer med følgende datatyper: tal, strenge, booleaner, farver. Typekontrol udføres delvist: editoren tillader ikke brug af indstik, hvor de ikke passer til typen, men i mere komplekse konstruktioner er typemismatch mulig.

Indbygget I/O Blockly giver kun rudimentær tastaturinput og -output af individuelle udtryk i et pop op-vindue.

Blockley Code Generators

I slutningen af ​​2014 inkluderer Blockleys kode et sæt kodegeneratorer til følgende sprog: JavaScript , Python , Dart . Resultatet af generatorerne kan være tilgængeligt for brugeren gennem en grafisk grænseflade. Denne funktion gør det muligt at bruge Blockley til undervisning i industrielle programmeringssprog .

Programmer, der bruger Blockley

Et eksempel på brugen af ​​Blockly er sådanne uddannelsesapplikationer som Blockly Games, i den russiske version - "Games for Future Programmers". [12] [13] .

Organisationen code.org [14] har udviklet en række kurser baseret på Blockley til indledende programmeringsuddannelse. Disse kurser er meget populære rundt om i verden, især under kampagnen "Hour of Code" [15] . I slutningen af ​​2014 var kurserne delvist russificeret.

En anden online programmeringsskole, Made with Code [16]  er rettet mod piger [17] . Google har investeret 50 millioner dollars i dette projekt [13] .

Moderne versioner af App Inventor bruger Blockly som en visuel programeditor. Blockly-projektsiden på Google indeholder links til en række andre undervisningsspil og webapplikationer [18] .

BlocklyDuino [19]  er en grafisk editor til programmering af Arduino -controllere , populær i undervisnings- og amatørrobotik.

LearnToMod [20]  er en kommerciel Minecraft -udvidelse , der giver brugerne mulighed for at lave deres egne modifikationer af spillet ved hjælp af Blockly eller ren JavaScript [21] .

Verge3D  er en browserbaseret 3D-motor, der eksporterer scener direkte fra standardeditorer ( Autodesk 3ds Max , Blender ), med mulighed for at tilføje interaktive scenarier ved hjælp af Blockley's Puzzles-udvidelsen [22] .

Sammenligning med lignende systemer

I softwareklassen til grunduddannelse i programmering på russisk er det passende at sammenligne Blokli med det også Russified Scratch -system . Ifølge undervisere passer Blockley-apps bedre ind i læringsprocessen end Scratch [23] .

Undervisere har med succes brugt Blockleys applikationer til aktiviteter for at popularisere programmering blandt skolebørn [24] .

I den engelsktalende verden er antallet af visuelle programmeringssprog til uddannelse mærkbart bredere, men succesen med Blockley-baserede kurser skabt af den amerikanske non-profit organisation code.org [25] adskiller Blockley også der.

Noter

  1. http://www.wired.com/2012/06/google-blockly/
  2. Udgivelse Q4 2020 google/blockly - 2020.
  3. Cade Metz. Google Blockly lader dig hacke uden tastatur  // Kablet . - 2012. - Nr. 6 .
  4. djwm . Googles Blockly sætter visuel programmering i browseren , The H (13. juni 2012, 11:40). Arkiveret fra originalen den 27. september 2020. Hentet 6. april 2015.
  5. Time of Code . Dato for adgang: 26. december 2014. Arkiveret fra originalen 26. december 2014.
  6. Semionenkov, Mikhail. Grafisk programmeringsmiljø Blockly (Blockley)  // Informatik: tidsskrift. - 2014. - Nr. 3 . Arkiveret fra originalen den 27. maj 2016.
  7. Blockly Section Arkiveret 5. september 2021 på Wayback Machine på Translatewiki.net
  8. Oversættelse - Blokvist - Google-udviklere . Hentet 9. april 2015. Arkiveret fra originalen 24. marts 2015.
  9. Google Grupper . Hentet 7. april 2015. Arkiveret fra originalen 22. januar 2011.
  10. Installation - Blockly - Google Developers . Hentet 9. april 2015. Arkiveret fra originalen 24. marts 2015.
  11. Brugerdefinerede blokke - Blockly - Google-udviklere . Hentet 9. april 2015. Arkiveret fra originalen 24. marts 2015.
  12. Blockly Games - Spil til morgendagens programmører. . Hentet 28. september 2014. Arkiveret fra originalen 4. maj 2020.
  13. 1 2 Todd R. Weiss. Google introducerer børn til kodning gennem Blockly Games Project . eWeek (17. august 2014). Dato for adgang: 11. april 2015.
  14. Alle kan lære | code.org . Hentet 7. april 2015. Arkiveret fra originalen 26. april 2020.
  15. Kyle Russell. Code.org lancerer Code Studio, et værktøjssæt og læseplan til at undervise børn i programmering . TechCrunch (11. september 2014). Hentet 6. april 2015. Arkiveret fra originalen 22. februar 2018.
  16. Lavet med kode . Hentet 7. april 2015. Arkiveret fra originalen 29. april 2020.
  17. Steve Dent. Googles Made with Code opfordrer piger til at omfavne datalogi . engadget (19. juni 2014). Hentet 6. april 2015. Arkiveret fra originalen 13. marts 2015.
  18. Eksempler - Blockly - Google Developers . Hentet 7. april 2015. Arkiveret fra originalen 24. marts 2015.
  19. Fred Lin. Blockly Duino . Hentet 11. maj 2020. Arkiveret fra originalen 27. maj 2020.
  20. LearnToMod . Hentet 7. april 2015. Arkiveret fra originalen 7. april 2015.
  21. Klint Finley. Ny Minecraft Mod lærer dig kode, mens du spiller  // Wired . - 2014. - Nr. 8 .
  22. Verge3D . Soft8Soft. Hentet 14. juni 2018. Arkiveret fra originalen 14. juni 2018.
  23. Shperk, Anatoly. Blockley går i skole. Kommer det? (30.11.2013).  (utilgængeligt link)
  24. Dodonova, Ekaterina. Kodedag (23.12.2014). Dato for adgang: 26. december 2014. Arkiveret fra originalen 30. december 2014.
  25. code.org  . _ Hentet 10. juni 2022. Arkiveret fra originalen 7. juni 2022.

Litteratur

Links