Философия платформы TeqFW

Дата публикации: 2025-02-12

Философия Tequila Framework (TeqFW) — это мой личный взгляд на веб-разработку. Я, Алекс Гусев, сформировал этот подход, опираясь на собственный опыт и предпочтения при создании веб-приложений. В основе — стремление к модульности, гибкости и адаптируемости.

Эта философия охватывает как прикладные аспекты веб-разработки, так и более общие архитектурные принципы. Её цель — упростить организацию кода, снизить сложность и повысить устойчивость проектов к изменениям.

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

Предложенные идеи не требуют сложной теории. Их сила — в простоте и практичности. Tequila Framework (TeqFW) служит примером реализации этих принципов и платформой для экспериментов.

Ключевые принципы TeqFW

  1. Единый язык разработки: JavaScript (ES6+) на всех уровнях приложения.
  2. Позднее связывание: адаптация подходов из Java, C#, PHP — через контейнер зависимостей и пространства имён ES6.
  3. Эволюционная устойчивость: код проектируется с расчётом на изменения без переработки уже написанного.
  4. Разделение данных и логики: строгая изоляция DTO и обработчиков.
  5. Пространства имён: для модулей, таблиц, CLI, конфигураций и пакетов.
  6. Без транспиляции: чистый JS с JSDoc, без TypeScript.
  7. Интеграция LLM в разработку: структура и стиль проекта учитывают работу языковых моделей.

Детали принципов

Единый язык разработки

Использование JavaScript (ES6+) и на клиенте, и на сервере упрощает разработку, снижает порог входа и устраняет разрыв между командами. Это снижает избыточность логики и облегчает обмен знаниями.

Позднее связывание

Контейнер зависимостей и пространства имён позволяют гибко управлять связями между модулями. Такой подход упрощает тестирование и снижает риски при доработках.

Эволюционная устойчивость

Код проектируется с учётом изменений: аргументы функций передаются как объекты (destructuring), DTO допускают «лишние» поля, используются интерфейсы и инъекции, а не жёсткие реализации.

Разделение данных и логики

DTO и обработчики отделены. Это повышает модульность, облегчает тестирование и делает код предсказуемым при командной работе.

Пространства имён

Каждый тип сущности — от модулей до CLI — помещается в своё пространство имён. Это упрощает навигацию, устраняет конфликты и задаёт стандарты для расширения кода.

Без транспиляции

TeqFW использует современный JavaScript без сборки и типизации в стиле TypeScript. Вместо этого применяются JSDoc-аннотации, что обеспечивает поддержку IDE без усложнения пайплайна.

Интеграция LLM в разработку

Проект организован так, чтобы LLM могли анализировать, дополнять и генерировать код. Используются плоская структура, шаблоны, повторяющиеся блоки и минимальные уровни вложенности.

Заключение

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