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