Философия платформы TeqFW
Дата публикации: 2025-02-12Философия Tequila Framework (TeqFW) — это мой личный взгляд на веб-разработку. Я, Алекс Гусев, сформировал этот подход, опираясь на собственный опыт и предпочтения при создании веб-приложений. В основе — стремление к модульности, гибкости и адаптируемости.
Эта философия охватывает как прикладные аспекты веб-разработки, так и более общие архитектурные принципы. Её цель — упростить организацию кода, снизить сложность и повысить устойчивость проектов к изменениям.
Важно: мой опыт сосредоточен на разработке модульных монолитов, а не микросервисов. Главный приоритет — удобство разработки и сопровождения, без избыточных накладных расходов.
Предложенные идеи не требуют сложной теории. Их сила — в простоте и практичности. Tequila Framework (TeqFW) служит примером реализации этих принципов и платформой для экспериментов.
Ключевые принципы TeqFW
- Единый язык разработки: JavaScript (ES6+) на всех уровнях приложения.
- Позднее связывание: адаптация подходов из Java, C#, PHP — через контейнер зависимостей и пространства имён ES6.
- Эволюционная устойчивость: код проектируется с расчётом на изменения без переработки уже написанного.
- Разделение данных и логики: строгая изоляция DTO и обработчиков.
- Пространства имён: для модулей, таблиц, CLI, конфигураций и пакетов.
- Без транспиляции: чистый JS с JSDoc, без TypeScript.
- Интеграция LLM в разработку: структура и стиль проекта учитывают работу языковых моделей.
Детали принципов
Единый язык разработки
Использование JavaScript (ES6+) и на клиенте, и на сервере упрощает разработку, снижает порог входа и устраняет разрыв между командами. Это снижает избыточность логики и облегчает обмен знаниями.
Позднее связывание
Контейнер зависимостей и пространства имён позволяют гибко управлять связями между модулями. Такой подход упрощает тестирование и снижает риски при доработках.
Эволюционная устойчивость
Код проектируется с учётом изменений: аргументы функций передаются как объекты (destructuring), DTO допускают «лишние» поля, используются интерфейсы и инъекции, а не жёсткие реализации.
Разделение данных и логики
DTO и обработчики отделены. Это повышает модульность, облегчает тестирование и делает код предсказуемым при командной работе.
Пространства имён
Каждый тип сущности — от модулей до CLI — помещается в своё пространство имён. Это упрощает навигацию, устраняет конфликты и задаёт стандарты для расширения кода.
Без транспиляции
TeqFW использует современный JavaScript без сборки и типизации в стиле TypeScript. Вместо этого применяются JSDoc-аннотации, что обеспечивает поддержку IDE без усложнения пайплайна.
Интеграция LLM в разработку
Проект организован так, чтобы LLM могли анализировать, дополнять и генерировать код. Используются плоская структура, шаблоны, повторяющиеся блоки и минимальные уровни вложенности.
Заключение
Эти принципы помогают строить модульные монолиты, которые легко читать, развивать и адаптировать. Даже если реализация может быть несовершенной, сами идеи остаются практичными и применимыми. Они дают разработчику основу для самостоятельного поиска решений — без диктата, но с направлением.