Blockly

Blockly
Тип Бібліотека підпрограм
Автор Нейл Фрейзер, Куін Нейтрон, Еллен Спертус, Марк Фрідман
Розробники Google, MIT
Перший випуск травень 2012; 11 років тому (2012-05)
Стабільний випуск 1.20190215.0 (15 лютого, 2019; 5 років тому (2019-02-15))
Нестабільний випуск 1.20190419.0 (19 квітня, 2019; 5 років тому (2019-04-19))
Платформа веббраузер
Операційна система 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].

Примітки[ред. | ред. код]

  1. Metz, Cade (1 червня 2012). Google Blockly Lets You Hack With No Keyboard. Wired. ISSN 1059-1028. Архів оригіналу за 16 квітня 2017. Процитовано 26 квітня 2020.
  2. Google's Blockly puts visual programming in the browser - The H Open: News and Features. www.h-online.com. Архів оригіналу за 27 вересня 2020. Процитовано 26 квітня 2020.
  3. Година коду: приєднуйтесь до руху. Code.org. Архів оригіналу за 11 грудня 2020. Процитовано 26 квітня 2020.
  4. Semionenkov_Blockly2.pdf. Google Docs. Процитовано 26 квітня 2020.
  5. Translating:Blockly — translatewiki.net. translatewiki.net. Архів оригіналу за 5 вересня 2021. Процитовано 26 квітня 2020.
  6. Translating | Blockly. Google Developers (англ.). Процитовано 26 квітня 2020.
  7. Google Групи. groups.google.com. Архів оригіналу за 27 вересня 2018. Процитовано 26 квітня 2020.
  8. Get Started | Blockly. Google Developers (англ.). Процитовано 26 квітня 2020.
  9. Custom Blocks | Blockly. Google Developers (англ.). Процитовано 26 квітня 2020.
  10. https://blockly-games.appspot.com/. blockly-games.appspot.com. Архів оригіналу за 4 травня 2020. Процитовано 26 квітня 2020.
  11. а б http://www.eweek.com/it-management/google-introduces-kids-to-coding-through-blockly-games-project.html.{{cite web}}: Обслуговування CS1: Сторінки з параметром url-status, але без параметра archive-url (посилання)
  12. а б Вивчайте інформатику. Змінюйте світ. Code.org. Архів оригіналу за 26 квітня 2020. Процитовано 26 квітня 2020.
  13. Code.org Launches Code Studio, A Toolset And Curriculum For Teaching Kids Programming. TechCrunch (амер.). Процитовано 26 квітня 2020.{{cite web}}: Обслуговування CS1: Сторінки з параметром url-status, але без параметра archive-url (посилання)
  14. www.madewithcode.com. www.madewithcode.com. Архів оригіналу за 29 квітня 2020. Процитовано 26 квітня 2020.
  15. Google's Made with Code encourages girls to embrace computer science. Engadget (англ.). Процитовано 26 квітня 2020.
  16. http://www.gasolin.idv.tw/public/blockly/demos/blocklyduino/index.html. Архів оригіналу за 3 січня 2015.
  17. Mod Minecraft & Learn Code - LearnToMod Software. LearnToMod (англ.). Архів оригіналу за 25 червня 2020. Процитовано 26 квітня 2020.
  18. Verge3D: an artist-friendly toolkit for 3D web experiences. Soft8Soft (амер.). Архів оригіналу за 14 червня 2018. Процитовано 26 квітня 2020.
  19. Сообщество учителей Intel Education Galaxy -> Чему можно научиться с помощью Blockly и Code?. web.archive.org. 26 грудня 2014. Архів оригіналу за 26 грудня 2014. Процитовано 26 квітня 2020.

Література[ред. | ред. код]

Посилання[ред. | ред. код]