Блокли
Блокли (англ. Blockly) — библиотека для создания среды визуального программирования, которая может быть встроена в произвольное веб-приложение. Блокли включает в себя графический редактор, позволяющий составлять программы из блоков, и генераторы кода для подготовки исполнения программы в среде веб-приложения[4][5].
Блокли | |
---|---|
Тип | визуальное программирование, язык программирования и библиотека функций |
Автор | Google[1] |
Разработчики |
Нил Фрейзер Эллен Спертус Марк Фридман |
Написана на | JavaScript |
Первый выпуск | 2012 |
Аппаратная платформа | Web[d] |
Последняя версия | |
Лицензия | лицензия Apache |
Сайт | developers.google.com/bl… |
Медиафайлы на Викискладе |
ОсобенностиПравить
Разрабатывается и поддерживается компанией Google с 2012 года. Свободно распространяется вместе c исходным кодом по лицензии Apache 2.0.
Целевой аудиторией проекта являются программисты, разрабатывающие веб-приложения, включающие Блокли, в основном для учебных целей.
Для создания программ пользователь должен перемещать графические блоки, не прибегая к набору текстов, за исключением ввода значений констант. Визуальное программирование на Блокли освобождает пользователя от контроля за правильностью синтаксиса программы, что является большим подспорьем на стадии начального обучения пользователя программированию.
При размещении веб-приложения с Блокли на Google App Engine пользователю доступно сохранение созданной программы в «облаке» Google с возможным доступом к программе других пользователей.
Открытые и бесплатные исходные тексты, документированность интерфейсов Блокли, интернационализация проекта привлекает к Блокли программистов, разрабатывающих приложения, включающие Блокли. В результате число конечных пользователей Блокли составляет десятки миллионов[6].
ИнтернационализацияПравить
Блокли изначально ориентирован на интернационализацию, ядро Блокли переведено на десятки языков, включая русский[7]. Для облегчения перевода на другие языки проектов Блокли и Игры Блокли разработчиками проекта открыт соостветствующий раздел на вики-платформе Translatewiki.net[8][9].
ИсторияПравить
Непосредственным предшественником Блокли авторы называют систему App Inventor. App Inventor, в свою очередь, как и многие другие системы этого класса, обязан своим появлением успеху известной системы Скретч. Нил Фрейзер (англ. Neil Fraser) написал Блокли для замены используемой в AppInventor библиотеки OpenBlocks[10], в каковом качестве он, в числе прочего, сейчас и используется.
Блокли выпущен в 2012 году.
Авторы: Нил Фрейзер (англ. Neil Fraser), при участии Эллен Спертус (англ. Ellen Spertus) и Марка Фридмана (англ. Mark Friedman).
Версии: Блокли не ориентирован на долгосрочные релизы: на конец 2014 года продукт обновляется непрерывно, и последняя версия доступна на GitHub.
РеализацияПравить
Блокли реализован как библиотека файлов на JavaScript. Блокли может встраиваться в веб-приложение[11]. Имеется возможность расширения визуального языка Блокли, путём определения новых блоков, включающее задание формы этого блока (и путей динамического её изменения) и программного кода, генерируемого этим блоком[12].
Блокли исполняется на клиентской стороне, то есть, может использоваться без веб-сервера.
Графический редактор БлоклиПравить
Графический редактор Блокли оперирует двумя видами объектов: блоками и вставками.
Блоки представляют в языке операторы, управляющие конструкции, процедуры, функции, вызовы процедур. Вставки служат для оформления констант, выражений и вызова функций. Составление программы графическим редактором похоже на процесс сбора разрезанной на части головоломки. После сборки программы можно вызвать генератор кода и выполнить сгенерированный код в среде веб-приложения, включающего Блокли.
Графический редактор осуществляет частичный контроль над типами, не позволяя в элементарных ситуация использовать вставки несоответствующего типа.
Язык БлоклиПравить
Набор управляющих конструкций в ядре Блокли традиционен для процедурных языков программирования: это несколько видов циклов и условных операторов.
Блокли позволяет создавать процедуры и функции с параметрами.
В язык встроен достаточно развитый набор алгебраических и тригонометрических функций, поддерживается полноценный набор логических выражений.
Язык содержит набор процедур для работы с текстом и списками.
Все переменные Блокли глобальны.
Блокли работает со следующими типами данных: числа, строки, булевы значения, цвета. Контроль типов осуществляется частично: редактор не позволяет использовать вставки там, где они не подходят по типу, но в более сложных конструкциях несоответствие типов возможно.
Встроенный ввод и вывод Блокли представляет только элементарные возможности ввода с клавиатуры и вывода отдельных выражений в всплывающем окне.
Генераторы кода БлоклиПравить
На конец 2014-го кода Блокли включает набор генераторов кода на следующие языки: JavaScript, Python, Dart. Результат работы генераторов может быть доступен пользователю через графический интефейс. Эта возможность позволяет использовать Блокли при обучении промышленным языкам программирования.
Приложения, использующие БлоклиПравить
Примером использования Blockly является такое обучающие приложения, как Blockly Games, в русифицированной версии — «Игры для будущих программистов».[13][14].
Организация code.org[en][15] разработала на базе Блокли ряд курсов для начального обучения программированию. Эти курсы пользуются в мире большой популярностью, особенно во время кампании «Hour of Code» («Час кода»)[16]. На конец 2014-го года курсы частично русифицированы.
Другая онлайн школа программирования, Made with Code[17] — ориентирован на девочек[18]. В этот проект компания Google вложила 50 млн долларов[14].
Современные версии App Inventor используют Блокли как редактор визуальных программ. На странице проекта Blockly на сайте Google представлены ссылки на ряд других обучающих игр и веб-приложеий[19].
BlocklyDuino[20] — графический редактор для программирования контроллеров Arduino, популярных в учебной и любительской робототехнике.
LearnToMod[21] — коммерческое расширение Minecraft, позволяет создавать пользователям свои собственные модификации игры, используя для этого Blockly или чистый JavaScript[22].
Verge3D — браузерный 3D движок, экспортирующий сцены напрямую из стандартных редакторов (Autodesk 3ds Max, Blender), с возможностью добавления интерактивных сценариев с помощью Puzzles — расширения Блокли[23].
Сравнение с аналогичными системамиПравить
В классе программного обеспечения для начального обучения программированию на русском языке Блокли уместно сравнивать с также русифицированной системой Скретч. По свидетельству педагогов, приложения Блокли лучше вписываются в учебный процесс, чем Скретч[24].
Педагоги успешно используют приложения Блокли для мероприятий по популяризации программирования среди школьников[25].
В англоязычном мире число визуальных языков программирования для образования заметно шире, но успех учебных курсов на базе Блокли, создаваемых американской некоммерческой организацией code.org[26] выделяет Блокли и там.
ПримечанияПравить
- ↑ http://www.wired.com/2012/06/google-blockly/
- ↑ Release Q4 2020 · google/blockly — 2020.
- ↑ Release 9.2.1 — 2023.
- ↑ Cade Metz. Google Blockly Lets You Hack With No Keyboard // Wired. — 2012. — № 6. Архивировано 16 апреля 2017 года.
- ↑ djwm. Google's Blockly puts visual programming in the browser, The H (13 June 2012, 11:40). Архивировано 27 сентября 2020 года. Дата обращения: 6 апреля 2015.
- ↑ Hour of Code (неопр.). Дата обращения: 26 декабря 2014. Архивировано 26 декабря 2014 года.
- ↑ Семионенков, Михаил. Графическая среда программирования Blockly (Блокли) // «Информатика» : журнал. — 2014. — № 3. Архивировано 27 мая 2016 года.
- ↑ Раздел Blockly Архивная копия от 5 сентября 2021 на Wayback Machine на Translatewiki.net
- ↑ Translating — Blockly — Google Developers (неопр.). Дата обращения: 9 апреля 2015. Архивировано 24 марта 2015 года.
- ↑ Google Groups (неопр.). Дата обращения: 7 апреля 2015. Архивировано 22 января 2011 года.
- ↑ Installation — Blockly — Google Developers (неопр.). Дата обращения: 9 апреля 2015. Архивировано 24 марта 2015 года.
- ↑ Custom Blocks — Blockly — Google Developers (неопр.). Дата обращения: 9 апреля 2015. Архивировано 24 марта 2015 года.
- ↑ Blockly Games — Games for tomorrow’s programmers. (неопр.) Дата обращения: 28 сентября 2014. Архивировано 4 мая 2020 года.
- ↑ 1 2 Todd R. Weiss. Google Introduces Kids to Coding Through Blockly Games Project (неопр.). eWeek (17 августа 2014). Дата обращения: 11 апреля 2015.
- ↑ Anibody Can Learn | code.org (неопр.). Дата обращения: 7 апреля 2015. Архивировано 26 апреля 2020 года.
- ↑ Kyle Russell. Code.org Launches Code Studio, A Toolset And Curriculum For Teaching Kids Programming (неопр.). TechCrunch (11 сентября 2014). Дата обращения: 6 апреля 2015. Архивировано 22 февраля 2018 года.
- ↑ Made with Code (неопр.). Дата обращения: 7 апреля 2015. Архивировано 29 апреля 2020 года.
- ↑ Steve Dent. Google's Made with Code encourages girls to embrace computer science (неопр.). engadget (19 июня 2014). Дата обращения: 6 апреля 2015. Архивировано 13 марта 2015 года.
- ↑ Examples — Blockly — Google Developers (неопр.). Дата обращения: 7 апреля 2015. Архивировано 24 марта 2015 года.
- ↑ Fred Lin. BlocklyDuino (неопр.). Дата обращения: 11 мая 2020. Архивировано 27 мая 2020 года.
- ↑ LearnToMod (неопр.). Дата обращения: 7 апреля 2015. Архивировано 7 апреля 2015 года.
- ↑ Klint Finley. New Minecraft Mod Teaches You Code as You Play // Wired. — 2014. — № 8. Архивировано 5 октября 2016 года.
- ↑ Verge3D (неопр.). Soft8Soft. Дата обращения: 14 июня 2018. Архивировано 14 июня 2018 года.
- ↑ Шперк, Анатолий. Блокли идёт в школу. Дойдёт ли? (неопр.) (30 ноября 2013). (недоступная ссылка)
- ↑ Додонова, Екатерина. День Кода (неопр.) (23 декабря 2014). Дата обращения: 26 декабря 2014. Архивировано 30 декабря 2014 года.
- ↑ code.org (англ.). Дата обращения: 10 июня 2022. Архивировано 7 июня 2022 года.
ЛитератураПравить
- Sam Patterson. Ch. 5. Blockly-Based App Progtamming. Why Blockly // Programming in the Primary Grades: Beyond the Hour of Code. — Rowman & Littlefield, 2016-03-21. — 121 с. — P. 35-48. — 98 p. — ISBN 9781475825459.
СсылкиПравить
- developers.google.com/blockly/ — официальный сайт Блокли (англ.)
- Проект Блокли на сайте GitHub
- Проект Игры Блокли на сайте GitHub (рабочее веб-приложение, Инструкции для локальной установки)
- Использование Блокли: демонстрационные примеры
- Blockly.Ru. Программирование на Blockly - Blockly Programming (неопр.). Дата обращения: 9 апреля 2016.
- Рубрика Blockly в сообществе Google+ «Учимся с Google»
- Чему можно научиться с помощью Blockly и Сode? (неопр.) НОВАТОР (13 мая 2014).