blockley | |
---|---|
Typ | vizuální programování , programovací jazyk a knihovna funkcí |
Autor | Google [1] |
Vývojáři |
Neil Fraser Ellen Spertus Mark Friedman |
Zapsáno v | JavaScript |
První vydání | 2012 |
Hardwarová platforma | web |
Nejnovější verze |
|
Licence | Licence Apache |
webová stránka | developers.google.com/bl… |
Mediální soubory na Wikimedia Commons |
Blockly je knihovna pro vytváření vizuálního programovacího prostředí , které lze vložit do libovolné webové aplikace . Blockly obsahuje grafický editor, který umožňuje vytvářet programy z bloků, a generátory kódu pro přípravu spuštění programu v prostředí webové aplikace [3] [4] .
Vyvíjen a podporován společností Google od roku 2012. Volně šířeno se zdrojovým kódem pod licencí Apache 2.0 .
Cílovou skupinou projektu jsou programátoři, kteří vyvíjejí webové aplikace, které obsahují Blockley, především pro vzdělávací účely.
Chcete-li vytvářet programy, musí uživatel přesouvat grafické bloky, aniž by se musel uchýlit k psaní, kromě zadávání konstantních hodnot. Vizuální programování v Blockley osvobozuje uživatele od kontroly nad správností syntaxe programu, což je velkou pomocí ve fázi počátečního zaškolení uživatele v programování.
Při hostování webové aplikace s Blockly na Google App Engine může uživatel uložit vytvořený program do cloudu Google s možným přístupem k programu dalším uživatelům.
Otevřený a bezplatný zdrojový kód, dokumentace rozhraní Blockley, internacionalizace projektu přitahuje programátory, kteří vyvíjejí aplikace, které zahrnují Blockley to Blockley. V důsledku toho se počet koncových uživatelů Blockley pohybuje v desítkách milionů [5] .
Blockley byl zpočátku zaměřen na internacionalizaci, jádro Blockley bylo přeloženo do desítek jazyků včetně ruštiny [6] . Pro usnadnění překladu projektů Blockly a Blockly Games do jiných jazyků otevřeli vývojáři projektu odpovídající sekci na wiki platformě Translatewiki.net [7] [8] .
Autoři označují systém App Inventor za bezprostředního předchůdce Blockley . App Inventor zase, stejně jako mnoho dalších systémů této třídy, vděčí za svůj vzhled úspěchu známého systému Scratch . Neil Fraser napsal Blockley, aby nahradil knihovnu OpenBlocks používanou v AppInventoru [ 9] , ve které se mimo jiné v současnosti používá.
Blockley byl propuštěn v roce 2012.
Autoři: Neil Fraser , s příspěvky Ellen Spertus a Marka Friedmana .
Verze: Blockley se nezaměřuje na dlouhodobá vydání: na konci roku 2014 se produkt průběžně aktualizuje a nejnovější verze je k dispozici na GitHubu .
Blockley je implementován jako knihovna souborů JavaScript . Blockly lze vložit do webové aplikace [10] . Vizuální jazyk Blockly je možné rozšířit definováním nových bloků, včetně nastavení tvaru tohoto bloku (a způsobů, jak jej dynamicky měnit) a programového kódu generovaného tímto blokem [11] .
Blockly se spouští na straně klienta, to znamená, že může být použit bez webového serveru.
Blockly grafický editor pracuje se dvěma typy objektů: bloky a vložky.
Bloky představují příkazy, řídicí struktury, procedury, funkce, volání procedur v jazyce. Vložky se používají ke zdobení konstant, výrazů a volání funkcí. Sestavení programu pomocí grafického editoru je jako skládání skládanky, která byla rozřezána na kousky. Po sestavení programu můžete zavolat generátor kódu a spustit vygenerovaný kód v prostředí webové aplikace, které obsahuje Blockley.
Grafický editor vykonává částečnou kontrolu nad typy a zabraňuje použití vložek nesprávného typu v elementárních situacích.
Sada řídicích struktur v jádru Blockley je tradiční pro procedurální programovací jazyky: jedná se o několik typů smyček a podmíněných příkazů.
Blockly umožňuje vytvářet procedury a funkce s parametry.
Do jazyka je zabudována poměrně rozvinutá sada algebraických a goniometrických funkcí, podporována je plnohodnotná sada logických výrazů.
Jazyk obsahuje sadu postupů pro práci s textem a seznamy.
Všechny proměnné Blockley jsou globální.
Blockly pracuje s následujícími datovými typy: čísla, řetězce, booleany, barvy. Typová kontrola se provádí částečně: editor neumožňuje použití insertů tam, kde nesedí s typem, ale u složitějších konstrukcí je možná typová neshoda.
Vestavěný I/O Blockly poskytuje pouze základní vstup z klávesnice a výstup jednotlivých výrazů ve vyskakovacím okně.
Na konci roku 2014 obsahuje kód Blockley sadu generátorů kódu pro následující jazyky: JavaScript , Python , Dart . Výsledek generátorů může být uživateli k dispozici prostřednictvím grafického rozhraní. Tato funkce umožňuje použití Blockley při výuce průmyslových programovacích jazyků .
Příkladem použití Blockly jsou takové vzdělávací aplikace jako Blockly Games, v ruské verzi - "Hry pro budoucí programátory". [12] [13] .
Organizace code.org [14] vyvinula řadu kurzů založených na Blockley pro počáteční výuku programování. Tyto kurzy jsou velmi oblíbené po celém světě, zejména během kampaně „Hour of Code“ [15] . Na konci roku 2014 byly kurzy částečně rusifikovány.
Další online škola programování Made with Code [16] je zaměřena na dívky [17] . Google do tohoto projektu investoval 50 milionů dolarů [13] .
Moderní verze App Inventoru používají Blockly jako vizuální editor programu. Stránka projektu Blockly na Googlu poskytuje odkazy na řadu dalších vzdělávacích her a webových aplikací [18] .
BlocklyDuino [19] je grafický editor pro programování Arduino regulátorů , populární ve vzdělávací a amatérské robotice.
LearnToMod [20] je komerční rozšíření pro Minecraft , které uživatelům umožňuje vytvářet vlastní modifikace hry pomocí Blockly nebo čistého JavaScriptu [21] .
Verge3D je 3D engine založený na prohlížeči, který exportuje scény přímo ze standardních editorů ( Autodesk 3ds Max , Blender ) s možností přidávat interaktivní scénáře pomocí rozšíření Blockley's Puzzles [22] .
V softwarové hodině pro základní výuku programování v ruštině je vhodné Blokli porovnat s rovněž Russified Scratch systémem . Podle pedagogů aplikace Blockley lépe zapadají do procesu učení než Scratch [23] .
Pedagogové úspěšně využili Blockleyho aplikace pro aktivity k popularizaci programování mezi školáky [24] .
V anglicky mluvícím světě je počet vizuálních programovacích jazyků pro vzdělávání znatelně širší, ale úspěch vzdělávacích kurzů založených na Blockley vytvořených americkou neziskovou organizací code.org [25] odlišuje Blockley i tam.