Будущее Blockly | Google Developers | Blockly.Ru

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


Использование Blockly где угодно

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

  1. Если вы переведете Blockly на свой родной язык, то окажете нам огромную помощь. Только у 5% населения мира английский язык является родным. Помогите нам распространить Blockly среди миллиардов не знакомых с английским языком людей.
  2. Поддержка сенсорных экранов (особенно для планшетных компьютеров на Android и iOS) является очень важным моментом. Сейчас Blockly кое-как работает с сенсорными экранами, но нам необходимо улучшить этот функционал.
  3. Нам не хватает совместимости с IE 10 и другими версиями (IE 9 – это безнадежный случай). У разработчиков Google нет компьютеров на Windows, поэтому любая помощь в улучшении работы Blockly с IE будет для нас очень ценной.


Новые блоки

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

  1. Сортировка списка. Нужна сортировка буквенных и числовых значений, нечувствительная к регистру, сортировка по длине. Сортировка по возрастанию и убыванию.
  2. 2D-таблица. Двумерные массивы очень сложно визуализировать. Поэтому нам нужен новый тип блоков, который бы работал с grid-данными (т. е. с таблицами). Тогда все блоки типа “список” смогли бы иметь grid-эквивалент (табличное представление).
  3. Область текста. Нам нужен блок, который бы представлял собой область текста, куда можно добавить целый абзац. Также будет полезным функционал переключения кодировки.


Улучшенный пользовательский интерфейс

Blockly разрабатывался как простой и понятный инструмент. Мы не хотим вносить в него беспорядок. Но тем не менее есть много способов улучшения существующего пользовательского интерфейса:

  1. Возможность выбрать несколько блоков одновременно, зажав клавишу “shift”. Тогда можно будет передвигать, разделять, отключать и удалять сразу несколько блоков.
  2. Создание альтернативного управления. Многие пользователи с ограниченными возможностями не могут использовать компьютерную мышь. Для помощи таким людям нужно добавить управление с помощью горячих клавиш клавиатуры. Более того, такое управление будет удобно и продвинутым программистам.
  3. Корзина. При нажатии на корзину пользователь должен видеть все удаленные ранее элементы. Эти блоки можно будет вновь перенести в рабочую область редактирования.
  4. Улучшение функции переименования переменных. Нужен вывод информации и том, сколько переменных будет переименовано, предупреждение о вводе одинаковых имен для двух разных переменных, и т.п.


Масштабируемость

Написание больших программ с использованием большинства визуальных языков программирования – дело нелегкое. В этой проблеме кроется множество интересных задач (многие из них настолько сложны, что их решение заслуживает написание научной работы или диссертации). Сейчас команда разработчиков Blockly сосредоточена на работе с небольшими обучающими приложениями. Это означает, что сейчас в нашу работу не входит создание следующего функционала:

  1. Увеличение и уменьшение как в Google Maps. Это не просто масштабирование области редактирования. Все детали должны появляться и исчезать должным образом.
  2. Несколько областей редактирования. Как разбивать большой код программы на части, каждая из которых будет отображаться в отдельной вкладке?
  3. Области видимости переменных. Сейчас все переменные, кроме аргументов функций, являются глобальными. Но для больших программ нужны своего рода области видимости.
  4. Инструмент отладки, позволяющий запустить программу, сделать шаг назад или вперед, проверить переменные, устанавливать точки останова.
  5. Поиск. Среди функций, вызовов, переменных и других составляющих кода. Функция поиска и замены поможет в обслуживании программы.
  6. Библиотеки. Как можно будет сохранять код в модули, которые потом смогут использовать другие программы?
  7. Совместная разработка. Сейчас ведутся работы по созданию функционала многопользовательского редактирования кода в режиме реального времени. Пока эта фишка недоступна для публичного использования.


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