blockley | |
---|---|
Sorts | visuell programmering , programmeringsspråk och funktionsbibliotek |
Författare | Google [1] |
Utvecklare |
Neil Fraser Ellen Spertus Mark Friedman |
Skrivet i | JavaScript |
Första upplagan | 2012 |
Hårdvaruplattform | webben |
senaste versionen |
|
Licens | Apache-licens |
Hemsida | developers.google.com/bl... |
Mediafiler på Wikimedia Commons |
Blockly är ett bibliotek för att skapa en visuell programmeringsmiljö som kan bäddas in i en godtycklig webbapplikation . Blockly innehåller en grafisk editor som låter dig skapa program från block och kodgeneratorer för att förbereda programexekvering i en webbapplikationsmiljö [3] [4] .
Utvecklad och stödd av Google sedan 2012. Fritt distribuerad med källkod under Apache 2.0-licensen .
Målgruppen för projektet är programmerare som utvecklar webbapplikationer som inkluderar Blockley, främst i utbildningssyfte.
För att skapa program måste användaren flytta grafiska block utan att behöva skriva, förutom att ange konstanta värden. Visuell programmering i Blockley befriar användaren från kontroll över korrektheten i programsyntaxen, vilket är till stor hjälp vid den första användarutbildningen i programmering.
När användaren hostar en webbapplikation med Blockly på Google App Engine kan användaren spara det skapade programmet i Googles moln med eventuell åtkomst till programmet av andra användare.
Öppen och fri källkod, dokumentation av Blockley-gränssnitt, internationalisering av projektet lockar programmerare som utvecklar applikationer som inkluderar Blockley till Blockley. Som ett resultat är antalet Blockley-slutanvändare i tiotals miljoner [5] .
Blockley var initialt fokuserad på internationalisering, Blockleys kärna har översatts till dussintals språk, inklusive ryska [6] . För att underlätta översättningen till andra språk av Blockly- och Blockly Games-projekten har utvecklarna av projektet öppnat motsvarande sektion på Translatewiki.net -wikiplattformen [7] [8] .
Författarna kallar App Inventor - systemet Blockleys omedelbara föregångare . App Inventor, i sin tur, liksom många andra system i den här klassen, har sitt utseende att tacka för framgången med det välkända Scratch -systemet . Neil Fraser skrev Blockley för att ersätta OpenBlocks-biblioteket som används i AppInventor [ 9] , i vilken egenskap det bland annat används för närvarande.
Blockley släpptes 2012.
Författare: Neil Fraser , med bidrag från Ellen Spertus och Mark Friedman .
Versioner: Blockley är inte fokuserat på långsiktiga utgåvor: i slutet av 2014 uppdateras produkten kontinuerligt, och den senaste versionen är tillgänglig på GitHub .
Blockley är implementerat som ett bibliotek av JavaScript- filer . Blockly kan bäddas in i en webbapplikation [10] . Det är möjligt att utöka det visuella språket för Blockly genom att definiera nya block, inklusive att ställa in formen på detta block (och sätt att dynamiskt ändra det) och programkoden som genereras av detta block [11] .
Blockly exekveras på klientsidan, det vill säga den kan användas utan webbserver.
Blockly graphics editor fungerar med två typer av objekt: block och inserts.
Block representerar uttalanden, kontrollstrukturer, procedurer, funktioner, proceduranrop på språket. Insatser används för att dekorera konstanter, uttryck och funktionsanrop. Att sammanställa ett program med en grafisk editor är som att lägga ett pussel som har klippts i bitar. Efter att ha byggt programmet kan du anropa kodgeneratorn och köra den genererade koden i en webbapplikationsmiljö som inkluderar Blockly.
Den grafiska editorn utövar delvis kontroll över typerna, vilket förhindrar användning av inlägg av fel typ i elementära situationer.
Uppsättningen av kontrollstrukturer i Blockley-kärnan är traditionell för procedurprogrammeringsspråk: dessa är flera typer av loopar och villkorliga uttalanden.
Blockly låter dig skapa procedurer och funktioner med parametrar.
En ganska utvecklad uppsättning algebraiska och trigonometriska funktioner är inbyggd i språket, en fullfjädrad uppsättning logiska uttryck stöds.
Språket innehåller en uppsättning procedurer för att arbeta med text och listor.
Alla Blockley-variabler är globala.
Blockly fungerar med följande datatyper: siffror, strängar, booleaner, färger. Typkontroll utförs delvis: editorn tillåter inte användning av inlägg där de inte passar typen, men i mer komplexa konstruktioner är typfel överensstämmelse möjlig.
Inbyggd I/O Blockly ger endast rudimentär tangentbordsinmatning och utmatning av individuella uttryck i ett popup-fönster.
I slutet av 2014 innehåller Blockleys kod en uppsättning kodgeneratorer för följande språk: JavaScript , Python , Dart . Resultatet av generatorerna kan vara tillgängligt för användaren genom ett grafiskt gränssnitt. Denna funktion gör att Blockley kan användas för att lära ut industriella programmeringsspråk .
Ett exempel på användningen av Blockly är sådana utbildningsapplikationer som Blockly Games, i den ryska versionen - "Games for Future Programmers". [12] [13] .
Organisationen code.org [14] har utvecklat ett antal kurser baserade på Blockley för grundläggande programmeringsutbildning. Dessa kurser är mycket populära runt om i världen, speciellt under kampanjen "Hour of Code" [15] . I slutet av 2014 var kurserna delvis russifierade.
En annan programmeringsskola online, Made with Code [16] riktar sig till flickor [17] . Google har investerat 50 miljoner dollar i detta projekt [13] .
Moderna versioner av App Inventor använder Blockly som en visuell programredigerare. Blockly-projektsidan på Google ger länkar till ett antal andra utbildningsspel och webbapplikationer [18] .
BlocklyDuino [19] är en grafisk redigerare för programmering av Arduino- kontroller , populär inom utbildnings- och amatörrobotik.
LearnToMod [20] är ett kommersiellt Minecraft- tillägg som låter användare skapa sina egna modifieringar av spelet med Blockly eller ren JavaScript [21] .
Verge3D är en webbläsarbaserad 3D-motor som exporterar scener direkt från standardredigerare ( Autodesk 3ds Max , Blender ), med möjligheten att lägga till interaktiva scenarier med Blockleys Puzzles-tillägg [22] .
I mjukvaruklassen för grundutbildning i programmering på ryska är det lämpligt att jämföra Blokli med det även Russified Scratch -systemet . Enligt utbildare passar Blockley-appar bättre in i inlärningsprocessen än Scratch [23] .
Lärare har framgångsrikt använt Blockleys applikationer för aktiviteter för att popularisera programmering bland skolbarn [24] .
I den engelsktalande världen är antalet visuella programmeringsspråk för utbildning märkbart större, men framgången med Blockley-baserade utbildningar skapade av den amerikanska ideella organisationen code.org [25] utmärker Blockley även där.