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 |
Блоклі (англ. Blockly) - це бібліотека для створення середовища візуального програмування , яка може бути вбудована в будь-який вебзастосунок. Блоклі містить графічний редактор, що дає змогу складати програми з блоків, і генератори коду для підготовки виконання програми в вебсередовищі[1][2].
Розробляється і підтримується компанією Google з 2012 року. Вільно поширюється разом c вихідним кодом за ліцензією Apache 2.0.
Цільовою аудиторією проєкту є програмісти, що розробляють вебзастосунки, що включають Блоклі, в основному для навчальних цілей.
Для створення програм користувач повинен переміщувати графічні блоки, не вдаючись до набору текстів, за винятком введення значень констант. Візуальне програмування на Блоклі звільняє користувача від контролю за правильністю синтаксису програми, що є великою підмогою на стадії початкового навчання користувача програмування.
У разі розміщення вебзастосунка з Блоклі на Google App Engine користувачеві доступно збереження створеної програми в «хмарі» Google з можливим доступом до програми інших користувачів.
Відкриті і безкоштовні вихідні тексти, документованість інтерфейсів Блоклі, інтернаціоналізація проекту залучає до Блоклі програмістів, що розробляють застосунки, що включають Блоклі. В результаті число кінцевих користувачів Блоклі становить десятки мільйонів[3].
Блоклі з самого початку орієнтований на інтернаціоналізацію, ядро Блоклі переведено на десятки мов, включаючи українську[4]. Для полегшення перекладу на інші мови проєкту Блоклі розробниками відкрито відповідний розділ на вікі-платформі Translatewiki.net[5] [6].
Безпосереднім попередником Блоклі автори називають систему App Inventor. App Inventor, в свою чергу, як і багато інших систем цього класу, зобов'язаний своєю появою успіху відомої системи Скретч. Ніл Фрейзер (англ. Neil Fraser) написав Блоклі для заміни використовуваної в AppInventor бібліотеки OpenBlocks[7].
Блоклі реалізований як бібліотека файлів мовою JavaScript . Блоклі може вбудовуватися в вебзастосунок[8]. Є можливість розширення візуальної мови Блоклі шляхом визначення нових блоків, що містять задання форми цього блоку (і шляхів динамічної її зміни) і програмного коду, що генерується цим блоком[9].
Блоклі виконується на клієнтській стороні, тобто, може використовуватися без вебсервера.
Графічний редактор Блоклі оперує двома видами об'єктів: блоками і вставками.
Блоки представляють в мові оператори, процедури, функції, виклики процедур. Вставки служать для оформлення констант, виразів і виклику функцій. Складання програми графічним редактором схоже на процес збору розрізаної на частини головоломки. Після складання програми можна викликати генератор коду і виконати згенерований код в середовищі вебзастосунку, що включає Блоклі.
Графічний редактор здійснює частковий контроль над типами, не дозволяючи в елементарних ситуація надавати змінним значення невідповідного типу.
Набір керуючих конструкцій в ядрі Блоклі традиційний для процедурних мов програмування: це кілька видів циклів і умовних операторів.
Блоклі дозволяє створювати процедури і функції з параметрами.
У мову вбудований досить розвинений набір алгебраїчних і тригонометричних функцій, підтримується повноцінний набір логічних виразів.
Мова містить набір процедур для роботи з текстом і списками.
Всі змінні Блоклі глобальні.
Блоклі працює з наступними типами даних: числа, рядки, булеві значення. Контроль типів здійснюється частково: редактор не дозволяє використовувати вставки там, де вони не підходять за типом, але в більш складних конструкціях невідповідність типів можлива.
Вбудоване введення і виведення значень величин у Блоклі представляє тільки елементарні можливості введення з клавіатури і виведення окремих виразів в спливаючому вікні.
Блоклі включає набір генераторів коду на наступні мови: JavaScript, Python, Dart. Результат роботи генераторів може бути доступний користувачеві через графічний інтерфейс. Ця можливість дає змогу використовувати Блоклі під час навчання промисловим мовам програмування.
Прикладом використання Blockly є такі навчальні програми, як Blockly Games[10][11].
Організація code.org[12] розробила на базі Блоклі ряд курсів для початкового навчання програмуванню. Ці курси користуються в світі великою популярністю, особливо під час кампанії «Hour of Code» («Час коду»)[13].
Інша онлайн школа програмування, Made with Code[14] - орієнтована на дівчаток[15]. У цей проєкт компанія Google вклала 50 млн доларів[11].
Сучасні версії App Inventor використовують Блоклі як редактор візуальних програм.
BlocklyDuino[16] - графічний редактор для програмування контролерів Arduino, популярних в навчальній і аматорській робототехніці.
LearnToMod[17] - комерційне розширення Minecraft, дає змогу створювати користувачам свої власні модифікації гри, використовуючи для цього Blockly або чистий JavaScript .
Verge3D - браузерний 3D-рушій, що експортує сцени безпосередньо зі стандартних редакторів (Autodesk 3ds Max, Blender), з можливістю додавання інтерактивних сценаріїв за допомогою Puzzles - розширення Блоклі[18].
У класі програмного забезпечення для початкового навчання програмуванню Блоклі доречно порівнювати з системою Скретч[19].
Педагоги успішно використовують додатки Блоклі для заходів з популяризації програмування серед школярів .
Серед візуальних мов програмування для навчання поширені курси на базі Блоклі, створені некомерційною організацією code.org[12].
- ↑ Metz, Cade (1 червня 2012). Google Blockly Lets You Hack With No Keyboard. Wired. ISSN 1059-1028. Архів оригіналу за 16 квітня 2017. Процитовано 26 квітня 2020.
- ↑ Google's Blockly puts visual programming in the browser - The H Open: News and Features. www.h-online.com. Архів оригіналу за 27 вересня 2020. Процитовано 26 квітня 2020.
- ↑ Година коду: приєднуйтесь до руху. Code.org. Архів оригіналу за 11 грудня 2020. Процитовано 26 квітня 2020.
- ↑ Semionenkov_Blockly2.pdf. Google Docs. Процитовано 26 квітня 2020.
- ↑ Translating:Blockly — translatewiki.net. translatewiki.net. Архів оригіналу за 5 вересня 2021. Процитовано 26 квітня 2020.
- ↑ Translating | Blockly. Google Developers (англ.). Процитовано 26 квітня 2020.
- ↑ Google Групи. groups.google.com. Архів оригіналу за 27 вересня 2018. Процитовано 26 квітня 2020.
- ↑ Get Started | Blockly. Google Developers (англ.). Процитовано 26 квітня 2020.
- ↑ Custom Blocks | Blockly. Google Developers (англ.). Процитовано 26 квітня 2020.
- ↑ https://blockly-games.appspot.com/. blockly-games.appspot.com. Архів оригіналу за 4 травня 2020. Процитовано 26 квітня 2020.
- ↑ а б http://www.eweek.com/it-management/google-introduces-kids-to-coding-through-blockly-games-project.html.
{{cite web}}
: Обслуговування 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.
{{cite web}}
: Обслуговування CS1: Сторінки з параметром url-status, але без параметра archive-url (посилання) - ↑ www.madewithcode.com. www.madewithcode.com. Архів оригіналу за 29 квітня 2020. Процитовано 26 квітня 2020.
- ↑ Google's Made with Code encourages girls to embrace computer science. Engadget (англ.). Процитовано 26 квітня 2020.
- ↑ http://www.gasolin.idv.tw/public/blockly/demos/blocklyduino/index.html. Архів оригіналу за 3 січня 2015.
- ↑ Mod Minecraft & Learn Code - LearnToMod Software. LearnToMod (англ.). Архів оригіналу за 25 червня 2020. Процитовано 26 квітня 2020.
- ↑ Verge3D: an artist-friendly toolkit for 3D web experiences. Soft8Soft (амер.). Архів оригіналу за 14 червня 2018. Процитовано 26 квітня 2020.
- ↑ Сообщество учителей Intel Education Galaxy -> Чему можно научиться с помощью Blockly и Code?. web.archive.org. 26 грудня 2014. Архів оригіналу за 26 грудня 2014. Процитовано 26 квітня 2020.
- Sam Patterson. [1] — Rowman & Littlefield. — 121 с. — P. 35-48. — ISBN 9781475825459. Архівовано з джерела 7 квітня 2022
- Офіційний сайт (англ.)
- blockly на GitHub
- blockly-games на GitHub (вебзастосунок [Архівовано 4 травня 2020 у Wayback Machine.])
- демонстраційні приклади [Архівовано 2 лютого 2020 у Wayback Machine.]
- Blockly.Ru. Программирование на Blockly - Blockly Programming. Архів оригіналу за 14 квітня 2022. Процитовано 9 квітня 2016.
- Рубрика Blockly