
Причины создания данного редактора кода
Редактор BlocklyKlik разрабатывается для помощи программирования микроконтроллеров на базе Arduino и ESP32 (эту функцию добавим в будущем) с применением блочного функционала создания кода.
Возможно, вы зададите вопрос: "Так есть же Scratch, mBlock, PictoBlox, да и Arduino ide".
Всё верно, они есть, но в ходе последних лет их использования возникли ряд серьёзных проблем:
Применение в образовании для детей от 8 лет и массовая переподготовка учителей, не имеющих профильной специальности. Поэтому акцент на блочный вариант построения кода.
Массовый переход муниципалитета на Linux: РЕД ОС, Альт образование, Astra Linux. Эти системы стали устанавливать по умолчанию со всеми вытекающими трудностями по поддержке нужного софта и его установки.
Ограниченность функционала для блочного программирования микроконтроллеров из условно доступных сред разработки.
Санкции и ограничения: уже имеющиеся редакторы кода либо полностью недоступны, либо недоступны их сервера, так как современные тенденции направлены на работу онлайн. Даже если программа декстопная, то её львиный функционал требует поддержки онлайн: загрузка расширений, подключение учётной записи, пользование блочными технологиями и машинным обучением.
Из всех вытекающих причин сформировался запрос: нужна автономная, удобная и простая программная среда программирования микронтроллеров со множеством встроенных библиотек и модулей с поддержкой разнообразных Linux систем в российских реалиях.
Цели и Задачи BlocklyKlik
Цель: стать жизнеспособной альтернативой программным средам для написания кода и компиляции в микроконтроллеры семейства Arduino и ESP32. В первую очередь, для наборов по робототехнике КЛИК и НикиРобот.
Задачи, которые уже решает BlocklyKlik:
блочное программирование с интерпретацией кода на язык C++;
компиляция кода на контроллеры семейства Arduino;
поддержка работы в Linux и Windows;
полностью автономная среда со встроенными библиотеками под датчики и модули;
абсолютно бесплатная программная среда с открытой лицензией и кодом;
Структура и возможности редактора
Среда позволяет создавать программы под микроконтроллеры Arduino почти любой сложности из блоков с возможностью интерпретации в код на C++, который сохраняется с расширением ino. Это позволяет компилировать код как непосредственно через редактор, так и через программу Arduino ide.
Интерпретация кода с блочной формы в текстовую отображается в самом редакторе с функцией подсветки кода. Функционал редактора:
код формируется из скрепления блоков с возможностью реализации его в функциях void setup() и void loop();
возможность создания своих пользовательских функций из блоков;
поддержка работы с цифровыми и аналоговыми пинами;
поддержка создания разного типа условий и циклов с гибкими настройками и применением математической логики;
поддержка введения переменных разного типа данных: целое, дробное число, строки, массивы;
поддержка математических операторов и операций: сложение, вычитание, деление, логарифмы, PI, E, конкатенация, возведение в степень;
поддержка работы с такими модулями и датчиками как: кнопки, датчик линии, ультразвуковой датчик расстояния, ИК-модуль, Bluetooth-модуль, датчик цвета, датчик влажности почвы, лазерный модуль, фоторезистор, терморезистор, светодиоды;
поддержка работы с актуаторами для КЛИК и НикиРобот: сервомоторы, DC-моторы, моторы с энкодером по I2C;
есть встроенный монитор порта с поддержкой класса Serial для приёма и передачи данных по COM-порту;
поддержка функции сохранения и импорта созданной программы;
поддержка компиляции кода с его отладкой.
На данный момент это все задачи, которые реализованы в версии 2.1. Следующим этапом будет расширение функционала по датчикам и модулям: восьмиканальный датчик линии, LED экран 16x8, динамик и пьезо элемент, гироскоп и акселерометр.
Обзор последних изменений редактора
Обзор редактора
Кто разрабатывает и где скачать?
Я автор и разработчик этой среды, но выкладываю исходной код каждой новой версии в открытый доступ. Поэтому любой желающий может внести свои идеи в данную структуру или изменить код полностью.
Программа абсолютно бесплатная и её можно использовать как в личных целях, так и образовательных или коммерческих (хотя не вижу в этом смысла).
Все сборки редактора BlocklyKlik доступны по этой ссылке. В папке со всеми сборками доступен и исходный код.
Программа разрабатывалась на Python с использованием модулей pygame-ce и pyserial. Это и позволило сделать редактор кроссплатформенным.
Так как изначально редактор разрабатывался под конкретные образовательные наборы робототехники, то, в первую очередь, он актуален для учителей и преподавателей образовательных учреждений.
С последующим расширением функционала редактор станет полноценной заменой альтернативных сред разработки.
Комментарии (7)

DerTosser
21.08.2026 11:34Я вот до сих пор не понимаю почему Scratch, mBlock, PictoBlox, да и вот то что в статье называется блочным? Потому что ключевые слова обрамлены рамкой и подсвечены цветом? Так это та же подсветка синтаксиса, только на стероидах.
Настоящее блочное программирование это FLProg, XOD, а не вот это всё.
Пожалуйста, не называйте это блоками, придумайте другое название.

Andrykor Автор
21.08.2026 11:34Это не так. XOD и FLProg - это узловое (нодовое) визуальное программирование. Такой стиль популярен в Blender и Unreal Engine. Вот Lego EV3 Software на базе LabView тоже нодовое программирование.
А блочное программирование - это когда код собирается из блоков и обычно это линейная сборка без разветвлений, как у нод. Строится стена либо по вертикали (Scratch), либо по горизонталb (Lego wedo)
DerTosser
21.08.2026 11:34Возможно. Видимо принцип таких названий взят из именования блока текста, блока программы, тогда имеет смысл. Однако непривычно, ожидаешь более "осязаемые" блоки, а видишь тот же текст программы, только в "детском" виде.

sami777
21.08.2026 11:34Неужели на изучение этих блочных компиляторов времени уйдет кардинально меньше, чем на тот же Си? Я вот посмотрел эту картинку с графическими блоками, и я сомневаюсь, что достаточно быстро это всё можно изучить. А я много языков программирования знаю, включая практический опыт, а не просто знаком с синтаксисом. По-моему, это изначально тупиковый путь: вы учите детей программировать этими визуальными абстракциями. После этого, когда мозги привыкают строить алгоритмы с помощью таких блоков, тяжело переучиваться на классические языки программирования. Но раз вы преподаёте, то вам, конечно, виднее.

Andrykor Автор
21.08.2026 11:34Так как я методист и пишу учебную литературу и методические сборники по программированию и робототехнике, то с такой проблемой столкнулся сразу же на этапе начала такой деятельности.
Изначально вся методика строилась на C++ (arduino ide) и Python и в качестве альтернативы говорилось, что есть mBlock и Scratch. Как вы думаете, что выбрали преподаватели детсадов, школ, детских центров? Ответ, Scratch и mBlock.
Почему, да потому что всё обучение программированию и робототехники начиналось с Lego WeDo и Lego NXT и EV3, бум на которые пришёл 2006 - 2018 года. В этот период все наборы и учебные программы строились с использованием блочных языков программирования.
Да и популярно было ПервоЛого. Как оказалось, это удобно и учителям и ученикам.
Это "тупиковое" направление уже существует и развивается более 20 лет.
m039
А вы не думали, что сейчас любой ИИ-чат по запросу может выдать работающий код для Arduino IDE, как же тогда это сопоставимо с утверждением что редактор будет его полноценной заменой? Я понимаю, что такой редактор хорош для обучения программированию, но как полноценная замена, если не будет возможности попросить ИИ-чат написать код, то он просто не будет проще и удобнее для выполнения задачи. Или он уже не будет полноценной заменой.
Andrykor Автор
Всё очень просто, в образовательных учреждениях не пользуются ИИ-чатом для создания программ. В 99.9% случаях учителя будут использовать методичку (книгу), готовые уроки к тому редактору, на котором им удобно.
А 80% учителям, которые ведут уроки робототехники удобно использовать блочный язык программирования по двум причинам: малый возраст обучающихся (8-10 лет) и нет специализации в программировании (учитель русского языка или трудов, у которого есть часы робототехники и подготовка к соревнованиям).
Ради эксперимента, попробуйте найти редактор кода блочный под Linux и используя школьный интернет написать код и скомпилировать его на arduino или другое устройство. Проблема школьного интернета и общих ограничений сети не даёт тех возможностей что автономная программа.
Для arduino ide нужен код на C++, но его ещё нужно будет понять, так как в робототехнике даже идеальный код может работать не так из-за разной конструкции, трения, скорости срабатывания датчиков и т.д.
P.S. на данный момент сайты Arduino ide недоступен