TODO List
- Написать базовую документацию.
- Сделать юнит тесты.
- Переписать Collection и Dict в функциональный стиль (чистые функции).
- Перевод документации на английский язык.
- Автокомпиляция на PHP.
- Подсветка синтаксиса.
- Проверка типов на этапе компиляции.
- Прикрутить ANTLR.
- Пересмотр некоторых технических решений. Код ревью. Особенно того что касается с работой баз данных, ORM, обмена сообщениями.
- Модульное разделение.
Например, разделить шаблонизатор, от компилятора. Или использовать флаги в компиляторе, которые отключат некоторые функции. Возможность написания модулей для компилятора.
- Сделать команду bayrell-lang-nodejs serve для запуска веб сервера.
- Добавление функционала для работы с анимацией.
- Добавить новые транспорты в механизм обмена сообщениями.
- Больше демо приложений. Сейчас только доступен clear-project и simple-crudlist.
- Оптимизация неизменяемых структур данных.
Сейчас, например, в языке, когда массив пересоздается, он полностью копируется через slice. Вообще, я думаю, написать неизменяемые структуры данных на C++ и скомпилировать модули для PHP и WebAssembly, для быстрой работы.
- Поддержка языков: Java, Python, C#. Go, Lua.
- Компилятор языка на LLVM и WebAssembly.
Особенно в WebAssembly. Очень интересно, на мой взгляд, скомпилировать фронтенд, чтобы он быстрее работал, и чтобы защитить код от взлома и копирования, особенно для бизнес задач.
- Интеграция с технологиями Cordova, для разработки мобильных приложений.
- Интеграция с WebPack. Пока идей мало как это правильно сделать.
- Сборка js bundle. Сейчас все JS файлы подключаются каждый по отдельности.
- Интеграция с ReactJS.
Я несколько раз пытался интегрировать язык BAYRELL Language с реактом. Пока не получилось. В итоге написал свой рендер. Возможно это из-за того, что не было публичного релиза, и до конца не было понятно, что в итоге должно получиться. Сейчас виденье прояснилось. Концепция HTML шаблонизатора очень сильно схожа с реактом. Может в будущем получится. Нужно больше опыта и сил.
- Интеграция с Sass и Less.
- Инструмент автосборки и автодеплоя. bayrell-lang-nodejs watch он хорош, но нужен инструмент, который на хостинге позволит компилировать исходный код. Компилировать в консоли, а затем загружать по фтп, это сложный способ. Должна быть автокомпиляция на стороне хостинга.
- В документации History Api кнопка вперед, назад должна делать рендер.
FaaS. Функциональное визуальное программирование в облаке.
Планируется добавить возможность развернуть облачную среду Docker Swarm. И прямо в нем сделать возможность писать программу виде функций, мышкой блок схем, без перезапуска и деплоя контейнеров. Конечно, сборка контейнеров будет, но это будет компиляция релизов. Но чтобы протестировать и быстро запустить, не обязательно запускать весь цикл DevOps.
Мне нравится php, потому чтобы с ним легко работать достаточно FTP. Можно вносить изменения, и получать сразу результат, без компиляций и сборок. Но потом появился nodejs с gulp, babel, webpack, docker и процесс сильно усложнился.
Я планирую работы над упрощением процесса разработки и деплоя. Решение, которое я вижу, лежит в области FaaS систем и программировании прямо в облаке.