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]. Примітки
Література
Посилання
|