TODO List

  1. Написать базовую документацию.
  2. Сделать юнит тесты.
  3. Переписать Collection и Dict в функциональный стиль (чистые функции).
  4. Перевод документации на английский язык.
  5. Автокомпиляция на PHP.
  6. Подсветка синтаксиса.
  7. Проверка типов на этапе компиляции.
  8. Прикрутить ANTLR.
  9. Пересмотр некоторых технических решений. Код ревью. Особенно того что касается с работой баз данных, ORM, обмена сообщениями.
  10. Модульное разделение.
    Например, разделить шаблонизатор, от компилятора. Или использовать флаги в компиляторе, которые отключат некоторые функции. Возможность написания модулей для компилятора.
  11. Сделать команду bayrell-lang-nodejs serve для запуска веб сервера.
  12. Добавление функционала для работы с анимацией.
  13. Добавить новые транспорты в механизм обмена сообщениями.
  14. Больше демо приложений. Сейчас только доступен clear-project и simple-crudlist.
  15. Оптимизация неизменяемых структур данных.
    Сейчас, например, в языке, когда массив пересоздается, он полностью копируется через slice. Вообще, я думаю, написать неизменяемые структуры данных на C++ и скомпилировать модули для PHP и WebAssembly, для быстрой работы.
  16. Поддержка языков: Java, Python, C#. Go, Lua.
  17. Компилятор языка на LLVM и WebAssembly.
    Особенно в WebAssembly. Очень интересно, на мой взгляд, скомпилировать фронтенд, чтобы он быстрее работал, и чтобы защитить код от взлома и копирования, особенно для бизнес задач.
  18. Интеграция с технологиями Cordova, для разработки мобильных приложений.
  19. Интеграция с WebPack. Пока идей мало как это правильно сделать.
  20. Сборка js bundle. Сейчас все JS файлы подключаются каждый по отдельности.
  21. Интеграция с ReactJS.
    Я несколько раз пытался интегрировать язык BAYRELL Language с реактом. Пока не получилось. В итоге написал свой рендер. Возможно это из-за того, что не было публичного релиза, и до конца не было понятно, что в итоге должно получиться. Сейчас виденье прояснилось. Концепция HTML шаблонизатора очень сильно схожа с реактом. Может в будущем получится. Нужно больше опыта и сил.
  22. Интеграция с Sass и Less.
  23. Инструмент автосборки и автодеплоя. bayrell-lang-nodejs watch он хорош, но нужен инструмент, который на хостинге позволит компилировать исходный код. Компилировать в консоли, а затем загружать по фтп, это сложный способ. Должна быть автокомпиляция на стороне хостинга.
  24. В документации History Api кнопка вперед, назад должна делать рендер.

FaaS. Функциональное визуальное программирование в облаке.

Планируется добавить возможность развернуть облачную среду Docker Swarm. И прямо в нем сделать возможность писать программу виде функций, мышкой блок схем, без перезапуска и деплоя контейнеров. Конечно, сборка контейнеров будет, но это будет компиляция релизов. Но чтобы протестировать и быстро запустить, не обязательно запускать весь цикл DevOps. Мне нравится php, потому чтобы с ним легко работать достаточно FTP. Можно вносить изменения, и получать сразу результат, без компиляций и сборок. Но потом появился nodejs с gulp, babel, webpack, docker и процесс сильно усложнился.

Я планирую работы над упрощением процесса разработки и деплоя. Решение, которое я вижу, лежит в области FaaS систем и программировании прямо в облаке.