Компания Google представила разработанный ею новый язык программирования Blockly. Новая разработка Google дает возможность разработчику создавать приложения, не набирая никакого кода. Для создания программы придется использовать только типовые логические блоки, которые необходимо складывать подобно пазлу согласно необходимому алгоритму.

Технически Blockly реализован на JavaScript, что позволяет разрабатывать приложение непосредственно в веб-браузере, компонуя блоки в логические цепочки путем простого их перетаскивания мышкой. После такой компоновки предусмотрена компиляция программы в традиционные JavaScript, Python и Dart. Лицензия на проект принадлежит Apache.

Вдохновил компанию Google на создание этого языка аналогичный, разработанный для Android, проект AppInventor. При этом, в основу самого AppInventor легли визуальные языки Scratch, и созданная специалистами Калифорнийского университета в Беркли его альтернатива – Snap, более известный под названием Build Your Own Blocks.

Из сотни подобных визуальных языков для разработки программ, Blockly выделяется, прежде всего, двумя принципиальными отличиями. Во-первых, в Blockly основной акцент сделан на визуализацию разработки приложений, что подчеркивает его ориентацию на сенсорные устройства, на которых вводить текст не совсем удобно. Кроме того, сильная визуализация Blockly обеспечивает ему легкий порог вхождения, позволяя разобраться с ним даже ребенку.

Во-вторых, важным отличительным моментом является указанная выше способность выполнить кросс-компиляцию в другие языки, что позволяет развивать проект в дальнейшем. Например, отдельные составляющие программы могут быть легко и быстро созданы на Blockly, а в дальнейшем, после компиляции в тот же Python, могут дорабатываться на нем или вставляться в уже готовый проект. При этом Google отмечает, что сегодня, при разработке какого-либо приложения, например расширения к офисным пакетам, только десятая часть кода отвечает за сопряжение расширения с API-хостом приложения. Весь остальной код приходится на «полезную логику», которую очень удобно, и главное быстро, можно создать на Blockly, который затем доработать для взаимодействия с API на Python.

Единственным существующим минусом Blockly является невозможность разработки на нем больших программ. Основной областью применения языка являются создание небольших сервисных скриптов, со сложной логикой и неоднократно вложенными логическими и циклическими блоками. Кроме того, специалисты Google говорят о возможном расширении в ближайшее время семантики Blockly, что поставит его на один уровень с уже существующими языками программирования, перейдя от образа обучающего языка к современному мультиплатформенному языку. Скорее всего, именно из-за планируемого расширения Blockly в нем не используется упаковка логики в применяемые сегодня условно-символические схемы.

Как уже упоминалось, разработка программы ведется непосредственно в браузере. Все промежуточные результаты работы можно сохранить в XML-файле, а затем при необходимости загрузить его. Помимо циклов и ветвлений Blockly поддерживает также и рекурсию. В ближайшее время будут добавлены элементы отладки, работа с курсором, возможность генерации кода для Arduino-устройств. Кроме того, планируется реализация таких элементов программирования, как вызов обработчика в случае возникновения определенных изменений и ситуаций, передача значений процедур и функций. Также предусмотрена доработка документации по этому языку, а также возможность копирования-вставки логических блоков (их массивов).

Говоря о целях разработки Blockly, один из его авторов Neil Fraser отметил, что их задача была в том, чтобы сделать программирование доступным для более широкого круга лиц, а не только небольшой касте программистов.

Комментарии

captcha
 17 янв. 2013 Ответить

Tip top stuff. I'll expect more now.


Антипкин Михаил Сергеевич о метавселенной, открывающей безграничные возможности для инноваций и экспериментов Антипкин Михаил Сергеевич о метавселенной
Сёрфинг с браузером FraudFox: исчерпывающее руководство Сёрфинг с браузером FraudFox
Где найти лицензионные ключи активации к ПО? Где найти лицензионные ключи активации к ПО?
Курсы веб дизайна: обучение онлайн Курсы веб дизайна: обучение онлайн
Как продлить срок службы бытовой техники? Как продлить срок службы бытовой техники?
Основы VPS/VDS: что нужно знать перед арендой? Основы VPS/VDS: что нужно знать перед арендой?
Откройте для себя азарт Mostbet KZ - ведущего онлайн-казино для геймеров Откройте для себя азарт Mostbet KZ - ведущего онлайн-казино для геймеров
Топ-10 игр для Android стоимостью менее $5 Топ-10 игр для Android стоимостью менее $5
Проверка авто в базе ГИБДД перед покупкой Проверка авто в базе ГИБДД перед покупкой
Бизнес-психология в онлайн-институте Smart Бизнес-психология в онлайн-институте Smart
Как открыть расчётный счёт в банке для ИП и ООО? Как открыть расчётный счёт в банке для ИП и ООО?
Завис айфон: что делать? Завис айфон: что делать?
Обзор смартфона iPhone 15 Обзор смартфона iPhone 15
Системы видеонаблюдения в частном доме: характеристики и настройка Системы видеонаблюдения в частном доме: характеристики и настройка
Что такое партнёрская программа? Что такое партнёрская программа?
Анализируем рекламу Google Ads для оптимизации кампаний Анализируем рекламу Google Ads для оптимизации кампаний
Аренда сервера в immers.cloud Аренда сервера в immers.cloud
Мастерство самоорганизации: 5 приемов для успешного планирования Мастерство самоорганизации: 5 приемов для успешного планирования
Взлом голосовых помощников ультразвуком Взлом голосовых помощников ультразвуком
Как создавать промпты для ChatGPT: главные правила Как создавать промпты для ChatGPT: главные правила