Блоклі (англ. Blockly) - це бібліотека для створення середовища візуального програмування , яка може бути вбудована в будь-який вебзастосунок. Блоклі містить графічний редактор, що дає змогу складати програми з блоків, і генератори коду для підготовки виконання програми в вебсередовищі.
Тип | Бібліотека підпрограм |
---|---|
Автор | Нейл Фрейзер, Куін Нейтрон, Еллен Спертус, Марк Фрідман |
Розробники | Google, MIT |
Перший випуск | травень 2012 |
Стабільний випуск | 1.20190215.0 (15 лютого, 2019 ) |
Нестабільний випуск | 1.20190419.0 (19 квітня, 2019 ) |
Платформа | веббраузер |
Операційна система | Android, iOS |
Мова програмування | JavaScript |
Розмір | 150 КБ |
Доступні мови | English (50) |
Ліцензія | Apache 2.0 |
Репозиторій | github.com/google/blockly |
Вебсайт | developers.google.com/blockly |
|
Особливості
Розробляється і підтримується компанією Google з 2012 року. Вільно поширюється разом c вихідним кодом за ліцензією Apache 2.0.
Цільовою аудиторією проєкту є програмісти, що розробляють вебзастосунки, що включають Блоклі, в основному для навчальних цілей.
Для створення програм користувач повинен переміщувати графічні блоки, не вдаючись до набору текстів, за винятком введення значень констант. Візуальне програмування на Блоклі звільняє користувача від контролю за правильністю синтаксису програми, що є великою підмогою на стадії початкового навчання користувача програмування.
У разі розміщення вебзастосунка з Блоклі на Google App Engine користувачеві доступно збереження створеної програми в «хмарі» Google з можливим доступом до програми інших користувачів.
Відкриті і безкоштовні вихідні тексти, документованість інтерфейсів Блоклі, інтернаціоналізація проекту залучає до Блоклі програмістів, що розробляють застосунки, що включають Блоклі. В результаті число кінцевих користувачів Блоклі становить десятки мільйонів.
Інтернаціоналізація
Блоклі з самого початку орієнтований на інтернаціоналізацію, ядро Блоклі переведено на десятки мов, включаючи українську. Для полегшення перекладу на інші мови проєкту Блоклі розробниками відкрито відповідний розділ на вікі-платформі Translatewiki.net .
Історія
Безпосереднім попередником Блоклі автори називають систему App Inventor. App Inventor, в свою чергу, як і багато інших систем цього класу, зобов'язаний своєю появою успіху відомої системи Скретч. Ніл Фрейзер (англ. Neil Fraser) написав Блоклі для заміни використовуваної в AppInventor бібліотеки OpenBlocks.
Реалізація
Блоклі реалізований як бібліотека файлів мовою JavaScript . Блоклі може вбудовуватися в вебзастосунок. Є можливість розширення візуальної мови Блоклі шляхом визначення нових блоків, що містять задання форми цього блоку (і шляхів динамічної її зміни) і програмного коду, що генерується цим блоком.
Блоклі виконується на клієнтській стороні, тобто, може використовуватися без вебсервера.
Графічний редактор Блоклі
Графічний редактор Блоклі оперує двома видами об'єктів: блоками і вставками.
Блоки представляють в мові оператори, процедури, функції, виклики процедур. Вставки служать для оформлення констант, виразів і виклику функцій. Складання програми графічним редактором схоже на процес збору розрізаної на частини головоломки. Після складання програми можна викликати генератор коду і виконати згенерований код в середовищі вебзастосунку, що включає Блоклі.
Графічний редактор здійснює частковий контроль над типами, не дозволяючи в елементарних ситуація надавати змінним значення невідповідного типу.
Мова Блоклі
Набір керуючих конструкцій в ядрі Блоклі традиційний для процедурних мов програмування: це кілька видів циклів і умовних операторів.
Блоклі дозволяє створювати процедури і функції з параметрами.
У мову вбудований досить розвинений набір алгебраїчних і тригонометричних функцій, підтримується повноцінний набір логічних виразів.
Мова містить набір процедур для роботи з текстом і списками.
Всі змінні Блоклі глобальні.
Блоклі працює з наступними типами даних: числа, рядки, булеві значення. Контроль типів здійснюється частково: редактор не дозволяє використовувати вставки там, де вони не підходять за типом, але в більш складних конструкціях невідповідність типів можлива.
Вбудоване введення і виведення значень величин у Блоклі представляє тільки елементарні можливості введення з клавіатури і виведення окремих виразів в спливаючому вікні.
Генератори коду Блоклі
Блоклі включає набір генераторів коду на наступні мови: JavaScript, Python, Dart. Результат роботи генераторів може бути доступний користувачеві через графічний інтерфейс. Ця можливість дає змогу використовувати Блоклі під час навчання промисловим мовам програмування.
Програми, що використовують Блоклі
Прикладом використання Blockly є такі навчальні програми, як Blockly Games.
Організація code.org розробила на базі Блоклі ряд курсів для початкового навчання програмуванню. Ці курси користуються в світі великою популярністю, особливо під час кампанії «Hour of Code» («Час коду»).
Інша онлайн школа програмування, Made with Code - орієнтована на дівчаток. У цей проєкт компанія Google вклала 50 млн доларів.
Сучасні версії App Inventor використовують Блоклі як редактор візуальних програм.
BlocklyDuino - графічний редактор для програмування контролерів Arduino, популярних в навчальній і аматорській робототехніці.
LearnToMod - комерційне розширення Minecraft, дає змогу створювати користувачам свої власні модифікації гри, використовуючи для цього Blockly або чистий JavaScript .
Verge3D - браузерний 3D-рушій, що експортує сцени безпосередньо зі стандартних редакторів (Autodesk 3ds Max, Blender), з можливістю додавання інтерактивних сценаріїв за допомогою Puzzles - розширення Блоклі.
Порівняння з аналогічними системами
У класі програмного забезпечення для початкового навчання програмуванню Блоклі доречно порівнювати з системою Скретч.
Педагоги успішно використовують додатки Блоклі для заходів з популяризації програмування серед школярів .
Серед візуальних мов програмування для навчання поширені курси на базі Блоклі, створені некомерційною організацією code.org.
Примітки
- Metz, Cade (1 червня 2012). . Wired. ISSN 1059-1028. Архів оригіналу за 16 квітня 2017. Процитовано 26 квітня 2020.
- . www.h-online.com. Архів оригіналу за 27 вересня 2020. Процитовано 26 квітня 2020.
- . Code.org. Архів оригіналу за 11 грудня 2020. Процитовано 26 квітня 2020.
- Semionenkov_Blockly2.pdf. Google Docs. Процитовано 26 квітня 2020.
- . translatewiki.net. Архів оригіналу за 5 вересня 2021. Процитовано 26 квітня 2020.
- Translating | Blockly. Google Developers (англ.). Процитовано 26 квітня 2020.
- . groups.google.com. Архів оригіналу за 27 вересня 2018. Процитовано 26 квітня 2020.
- Get Started | Blockly. Google Developers (англ.). Процитовано 26 квітня 2020.
- Custom Blocks | Blockly. Google Developers (англ.). Процитовано 26 квітня 2020.
- . blockly-games.appspot.com. Архів оригіналу за 4 травня 2020. Процитовано 26 квітня 2020.
- http://www.eweek.com/it-management/google-introduces-kids-to-coding-through-blockly-games-project.html.
{{}}
: Обслуговування CS1: Сторінки з параметром url-status, але без параметра archive-url () - . Code.org. Архів оригіналу за 26 квітня 2020. Процитовано 26 квітня 2020.
- Code.org Launches Code Studio, A Toolset And Curriculum For Teaching Kids Programming. TechCrunch (амер.). Процитовано 26 квітня 2020.
{{}}
: Обслуговування CS1: Сторінки з параметром url-status, але без параметра archive-url () - . www.madewithcode.com. Архів оригіналу за 29 квітня 2020. Процитовано 26 квітня 2020.
- Google's Made with Code encourages girls to embrace computer science. Engadget (англ.). Процитовано 26 квітня 2020.
- . Архів оригіналу за 3 січня 2015.
- . LearnToMod (англ.). Архів оригіналу за 25 червня 2020. Процитовано 26 квітня 2020.
- . Soft8Soft (амер.). Архів оригіналу за 14 червня 2018. Процитовано 26 квітня 2020.
- . web.archive.org. 26 грудня 2014. Архів оригіналу за 26 грудня 2014. Процитовано 26 квітня 2020.
Література
- Sam Patterson. [1] — Rowman & Littlefield. — 121 с. — P. 35-48. — . з джерела 7 квітня 2022
Посилання
- Офіційний сайт (англ.)
- blockly на GitHub
- blockly-games на GitHub (вебзастосунок [ 4 травня 2020 у Wayback Machine.])
- демонстраційні приклади [ 2 лютого 2020 у Wayback Machine.]
- Blockly.Ru. . Архів оригіналу за 14 квітня 2022. Процитовано 9 квітня 2016.
- Рубрика Blockly
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Blokli angl Blockly ce biblioteka dlya stvorennya seredovisha vizualnogo programuvannya yaka mozhe buti vbudovana v bud yakij vebzastosunok Blokli mistit grafichnij redaktor sho daye zmogu skladati programi z blokiv i generatori kodu dlya pidgotovki vikonannya programi v vebseredovishi BlocklyTipBiblioteka pidprogramAvtorNejl Frejzer Kuin Nejtron Ellen Spertus Mark FridmanRozrobnikiGoogle MITPershij vipusktraven 2012 12 rokiv tomu 2012 05 Stabilnij vipusk1 20190215 0 15 lyutogo 2019 5 rokiv tomu 2019 02 15 Nestabilnij vipusk1 20190419 0 19 kvitnya 2019 5 rokiv tomu 2019 04 19 PlatformavebbrauzerOperacijna sistemaAndroid iOSMova programuvannyaJavaScriptRozmir150 KBDostupni moviEnglish 50 LicenziyaApache 2 0Repozitorijgithub com google blocklyVebsajtdevelopers google com blockly Mediafajli u VikishovishiOsoblivostiRozroblyayetsya i pidtrimuyetsya kompaniyeyu Google z 2012 roku Vilno poshiryuyetsya razom c vihidnim kodom za licenziyeyu Apache 2 0 Cilovoyu auditoriyeyu proyektu ye programisti sho rozroblyayut vebzastosunki sho vklyuchayut Blokli v osnovnomu dlya navchalnih cilej Dlya stvorennya program koristuvach povinen peremishuvati grafichni bloki ne vdayuchis do naboru tekstiv za vinyatkom vvedennya znachen konstant Vizualne programuvannya na Blokli zvilnyaye koristuvacha vid kontrolyu za pravilnistyu sintaksisu programi sho ye velikoyu pidmogoyu na stadiyi pochatkovogo navchannya koristuvacha programuvannya U razi rozmishennya vebzastosunka z Blokli na Google App Engine koristuvachevi dostupno zberezhennya stvorenoyi programi v hmari Google z mozhlivim dostupom do programi inshih koristuvachiv Vidkriti i bezkoshtovni vihidni teksti dokumentovanist interfejsiv Blokli internacionalizaciya proektu zaluchaye do Blokli programistiv sho rozroblyayut zastosunki sho vklyuchayut Blokli V rezultati chislo kincevih koristuvachiv Blokli stanovit desyatki miljoniv InternacionalizaciyaBlokli z samogo pochatku oriyentovanij na internacionalizaciyu yadro Blokli perevedeno na desyatki mov vklyuchayuchi ukrayinsku Dlya polegshennya perekladu na inshi movi proyektu Blokli rozrobnikami vidkrito vidpovidnij rozdil na viki platformi Translatewiki net IstoriyaBezposerednim poperednikom Blokli avtori nazivayut sistemu App Inventor App Inventor v svoyu chergu yak i bagato inshih sistem cogo klasu zobov yazanij svoyeyu poyavoyu uspihu vidomoyi sistemi Skretch Nil Frejzer angl Neil Fraser napisav Blokli dlya zamini vikoristovuvanoyi v AppInventor biblioteki OpenBlocks RealizaciyaBlokli realizovanij yak biblioteka fajliv movoyu JavaScript Blokli mozhe vbudovuvatisya v vebzastosunok Ye mozhlivist rozshirennya vizualnoyi movi Blokli shlyahom viznachennya novih blokiv sho mistyat zadannya formi cogo bloku i shlyahiv dinamichnoyi yiyi zmini i programnogo kodu sho generuyetsya cim blokom Blokli vikonuyetsya na kliyentskij storoni tobto mozhe vikoristovuvatisya bez vebservera Grafichnij redaktor BlokliGrafichnij redaktor Blokli operuye dvoma vidami ob yektiv blokami i vstavkami Bloki predstavlyayut v movi operatori proceduri funkciyi vikliki procedur Vstavki sluzhat dlya oformlennya konstant viraziv i vikliku funkcij Skladannya programi grafichnim redaktorom shozhe na proces zboru rozrizanoyi na chastini golovolomki Pislya skladannya programi mozhna viklikati generator kodu i vikonati zgenerovanij kod v seredovishi vebzastosunku sho vklyuchaye Blokli Grafichnij redaktor zdijsnyuye chastkovij kontrol nad tipami ne dozvolyayuchi v elementarnih situaciya nadavati zminnim znachennya nevidpovidnogo tipu Mova BlokliNabir keruyuchih konstrukcij v yadri Blokli tradicijnij dlya procedurnih mov programuvannya ce kilka vidiv cikliv i umovnih operatoriv Blokli dozvolyaye stvoryuvati proceduri i funkciyi z parametrami U movu vbudovanij dosit rozvinenij nabir algebrayichnih i trigonometrichnih funkcij pidtrimuyetsya povnocinnij nabir logichnih viraziv Mova mistit nabir procedur dlya roboti z tekstom i spiskami Vsi zminni Blokli globalni Blokli pracyuye z nastupnimi tipami danih chisla ryadki bulevi znachennya Kontrol tipiv zdijsnyuyetsya chastkovo redaktor ne dozvolyaye vikoristovuvati vstavki tam de voni ne pidhodyat za tipom ale v bilsh skladnih konstrukciyah nevidpovidnist tipiv mozhliva Vbudovane vvedennya i vivedennya znachen velichin u Blokli predstavlyaye tilki elementarni mozhlivosti vvedennya z klaviaturi i vivedennya okremih viraziv v splivayuchomu vikni Generatori kodu BlokliBlokli vklyuchaye nabir generatoriv kodu na nastupni movi JavaScript Python Dart Rezultat roboti generatoriv mozhe buti dostupnij koristuvachevi cherez grafichnij interfejs Cya mozhlivist daye zmogu vikoristovuvati Blokli pid chas navchannya promislovim movam programuvannya Programi sho vikoristovuyut BlokliPrikladom vikoristannya Blockly ye taki navchalni programi yak Blockly Games Organizaciya code org rozrobila na bazi Blokli ryad kursiv dlya pochatkovogo navchannya programuvannyu Ci kursi koristuyutsya v sviti velikoyu populyarnistyu osoblivo pid chas kampaniyi Hour of Code Chas kodu Insha onlajn shkola programuvannya Made with Code oriyentovana na divchatok U cej proyekt kompaniya Google vklala 50 mln dolariv Suchasni versiyi App Inventor vikoristovuyut Blokli yak redaktor vizualnih program BlocklyDuino grafichnij redaktor dlya programuvannya kontroleriv Arduino populyarnih v navchalnij i amatorskij robototehnici LearnToMod komercijne rozshirennya Minecraft daye zmogu stvoryuvati koristuvacham svoyi vlasni modifikaciyi gri vikoristovuyuchi dlya cogo Blockly abo chistij JavaScript Verge3D brauzernij 3D rushij sho eksportuye sceni bezposeredno zi standartnih redaktoriv Autodesk 3ds Max Blender z mozhlivistyu dodavannya interaktivnih scenariyiv za dopomogoyu Puzzles rozshirennya Blokli Porivnyannya z analogichnimi sistemamiU klasi programnogo zabezpechennya dlya pochatkovogo navchannya programuvannyu Blokli dorechno porivnyuvati z sistemoyu Skretch Pedagogi uspishno vikoristovuyut dodatki Blokli dlya zahodiv z populyarizaciyi programuvannya sered shkolyariv Sered vizualnih mov programuvannya dlya navchannya poshireni kursi na bazi Blokli stvoreni nekomercijnoyu organizaciyeyu code org PrimitkiMetz Cade 1 chervnya 2012 Wired ISSN 1059 1028 Arhiv originalu za 16 kvitnya 2017 Procitovano 26 kvitnya 2020 www h online com Arhiv originalu za 27 veresnya 2020 Procitovano 26 kvitnya 2020 Code org Arhiv originalu za 11 grudnya 2020 Procitovano 26 kvitnya 2020 Semionenkov Blockly2 pdf Google Docs Procitovano 26 kvitnya 2020 translatewiki net Arhiv originalu za 5 veresnya 2021 Procitovano 26 kvitnya 2020 Translating Blockly Google Developers angl Procitovano 26 kvitnya 2020 groups google com Arhiv originalu za 27 veresnya 2018 Procitovano 26 kvitnya 2020 Get Started Blockly Google Developers angl Procitovano 26 kvitnya 2020 Custom Blocks Blockly Google Developers angl Procitovano 26 kvitnya 2020 blockly games appspot com Arhiv originalu za 4 travnya 2020 Procitovano 26 kvitnya 2020 http www eweek com it management google introduces kids to coding through blockly games project html a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z parametrom url status ale bez parametra archive url posilannya Code org Arhiv originalu za 26 kvitnya 2020 Procitovano 26 kvitnya 2020 Code org Launches Code Studio A Toolset And Curriculum For Teaching Kids Programming TechCrunch amer Procitovano 26 kvitnya 2020 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z parametrom url status ale bez parametra archive url posilannya www madewithcode com Arhiv originalu za 29 kvitnya 2020 Procitovano 26 kvitnya 2020 Google s Made with Code encourages girls to embrace computer science Engadget angl Procitovano 26 kvitnya 2020 Arhiv originalu za 3 sichnya 2015 LearnToMod angl Arhiv originalu za 25 chervnya 2020 Procitovano 26 kvitnya 2020 Soft8Soft amer Arhiv originalu za 14 chervnya 2018 Procitovano 26 kvitnya 2020 web archive org 26 grudnya 2014 Arhiv originalu za 26 grudnya 2014 Procitovano 26 kvitnya 2020 LiteraturaSam Patterson 1 Rowman amp Littlefield 121 s P 35 48 ISBN 9781475825459 z dzherela 7 kvitnya 2022PosilannyaOficijnij sajt angl blockly na GitHub blockly games na GitHub vebzastosunok 4 travnya 2020 u Wayback Machine demonstracijni prikladi 2 lyutogo 2020 u Wayback Machine Blockly Ru Arhiv originalu za 14 kvitnya 2022 Procitovano 9 kvitnya 2016 Rubrika Blockly