Duit Foundation | Никита Синявин

Duit Foundation | Никита Синявин 

Разработчик создает инструменты для разработчиков

7subscribers

27posts

Showcase

3
goals3
2 of 20 paid subscribers
Маркер того, что делаю все правильно
$0 of $1 448 raised
На разработку логотипа/маскота Duit.
$0 of $14 472 raised
Устраиваю "корпоратив" для самых активных контрибьюторов

Осознанная инженерия

Процесс создания BDUI-движка наполнен интересными задачами: создание стабильного и гибкого API, обеспечение высокой производительности, четкое разделение ответственности между клиентом и сервером.  Но есть задача, которая ставит перед архитектором особый вызов: поддержка динамического выполнения кода. 
Когда движок должен не просто отрисовывать интерфейсы, а исполнять логику, написанную «поверх него», без пересборки и перезапуска. Классическое решение - внедрить third-party рантайм, но за его удобство почти всегда приходится платить чужими ограничениями и... "особенностями".
Ранее я уже погружался в эту тему и сейчас возвращаюсь к ней с новым багажом знаний и опыта. Мой инструмент в этом путешествии - Hetu, встраиваемый скриптовый язык для Dart. Лёгкий интерпретатор с синтаксисом, похожим на  Kotlin, который позволяет анализировать, компилировать и выполнять код во прямо время работы приложения.
Но вернулся я к нему не для того, чтобы просто использовать, мирясь с недостатками. А чтобы разобрать до винтиков и собрать заново. Понять, как устроены языки программирования и их инфраструктура под капотом. И главное - сделать эту “подкапотную магию” прозрачной и понятной широкому кругу разработчиков, которым, как и мне, интересно заглянуть глубже и дальше, чем уровень прикладного кода.

Почему именно Hetu?

Во-первых, проектов подобного уровня и сложности под Dart почти нет. Примеров адекватных и более-менее функциональных реализаций днем с огнем не найти, а production-ready не существует в природе!
Во-вторых - Hetu, при всей своей глубине и отсутствии амбиций (автор оригинальной реализации называет hetu_script своим "домашним развлечением"), страдает некоторыми вполне себе взрослыми и серьезными проблемами:
  • Монолитная архитектура, которую сложно расширять - это тормозит адаптацию под новые сценарии и мешает безопасно заменять/переписывать части движка.
  • Перформанс далёк от идеала (мягко говоря) - беглый осмотр кодовой базы показал большое количество "шероховатостей", которые напрямую влияют на скорость работы.
  • Код местами запутан и перегружен динамическими типами. Во многих местах разработчик языка лишен статической проверки типов, что увеличивает риск ошибок.
  • Отсутствие инженерных стандартов: нет документации критически важных частей проекта, нет уверенности, что очередное изменение не ломает проект.
Именно это делает проект идеальной целью: он живой, сложный и настоящий. Это не абстрактная задача из учебника, а реальный и работоспособный runtime поверх Dart. Это шанс разобрать работающий механизм, понять каждую шестеренку, отполировать ее и собрать обратно - уже в новом качестве.

Цели проекта и почему эта работа важна

Мои цели - не просто починить несколько багов и добавить пару фич, они гораздо обширнее и глубже:
  • Показать техническую эволюцию большого и сложного проекта. Разобрать архитектуру Hetu, устранить слабые места языка и превратить движок во что-то, что хотя бы приближается к production-ready качеству.
  • Дать образовательную ценность. Показать, как инженер может мыслить системно - от структуры байткода до дизайна языков и паттернов проектирования. На конкретных примерах и реальном коде.
  • Сформировать практические артефакты. Каждый этап работы превращается в наглядную историю инженерного процесса и того, что можно брать сложные, “страшные” темы - и делать их понятными и полезными для всех, кто пишет код.
Моя цель - провести полную трансформацию и создать Hetu++. Для мира Dart это уникально, поскольку язык не считается пригодным для "системного" программирования. Попытка развенчать этот миф - крутейший и вдохновляющий поинт для любого инженера!
Hetu++ - это не просто форк, а исследовательский и образовательный проект с реальной практической ценностью. Шаг за шагом я буду разбирать, как работают интерпретаторы, компиляторы и языки программирования в целом. Без академического пафоса - только практика, Dart и живой процесс, который вы можете наблюдать своими глазами.

Что ждет тебя в рамках этого проекта

  • 🔍 Глубокие технические статьи и разборы - от структуры байткода Hetu до архитектуры и устройства интерпретаторов и компиляторов
  • ⚙️ Инженерные заметки и прототипы - черновики, идеи и эксперименты, которые не публикуются в открытом доступе
  • 💬 Доступ в закрытый чат - обсуждения, помощь с архитектурой, идеи для контрибьюта и возможность влиять на вектор развития Hetu++
  • 🚀 Совместное исследование - возможность идти по этому пути вместе
  • 📚 Переводы книг и статей по теме проекта, которых нет на русском языке
🔔 Часть контента будет эксклюзивной для Boosty, поэтому рекомендую подписаться или хотя бы нажать «наблюдать», чтобы не пропустить обновления.
Наблюдать за эволюцией кода можно в репозитории форка:
👉 https://github.com/Duit-Foundation/hetu_xx
Subscription levels2

Помогатор

$14.5 per month
Твой донат приблизил меня к фултайм работе над моими проектами.
Плюшки:
- Доступ к эксплюзивному контенту специального назначения :)
- Доступ к закрытому чату Duit Discussions
+ chat

Папик

$145 per month
Все преимущества предыдущего уровня подписки + моя безмерная благодарность :)
+ chat
Go up