Encore

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: encore.dev

Encore — это open-source фреймворк и набор инструментов для разработки серверных приложений и распределённых систем с акцентом на типобезопасность, автоматизацию инфраструктуры и упрощение рабочего цикла разработчика. Проекты под названием Encore существуют в нескольких реализациях, ориентированных на разные языки программирования (например, TypeScript/Node.js и Go), и предлагают высокоуровневые абстракции для определения API, баз данных, фоновых задач и требований к развертыванию в виде кода.

Исторически инициативы с именем Encore появились как попытка объединить практики современного бэкенд-развития: декларативное описание сервисов, автоматическая генерация клиентских и серверных частей, встроенная поддержка миграций и интеграция с облачной инфраструктурой. Фреймворк позиционируется как средство ускорения создания приложений за счёт строгих типов, шаблонов архитектуры и командного интерфейса, который автоматизирует сборку, тестирование и деплой.

  • Типобезопасный API: декларативное определение эндпоинтов и типов данных, позволяющее автоматически генерировать клиентские библиотеки и избегать рассинхронизации между сервером и клиентом.
  • Инфраструктура как код: встроенные механизмы для описания ресурсов (баз данных, очередей, хранилищ) и автоматического создания конфигураций развертывания.
  • Интеграция с базами данных: абстракции для миграций, моделей и запросов, совместимые с популярными СУБД, с возможностью генерации схемы и управления версиями данных.
  • Автоматизация CI/CD: набор команд и плагинов для сборки, тестирования и развёртывания приложений в облачные окружения, включая создание контейнеров и управление секретами.
  • Поддержка фоновых задач и триггеров: средства для определения фоновых воркеров, расписаний и событийных обработчиков с автоматической маршрутизацией и масштабированием.
  • Лёгкая разработка и локальный запуск: инструменты для эмуляции облачных сервисов и быстрого запуска приложения в локальной среде с минимальной конфигурацией.
  • Расширяемость: модульная архитектура и плагины для интеграции сторонних сервисов, middleware и средств наблюдаемости.
  • Фокус на безопасности: встроенные практики для управления секретами, контроля доступа и минимизации поверхности атаки через стандартизированные шаблоны.
  • Документация и генерация схем: автоматическое создание документации API и схем типов, что упрощает поддержку и интеграцию с внешними клиентами.
  • Кросс-языковая экосистема: наличие реализаций и инструментов для разных языков (например, TypeScript/Node.js и Go), обеспечивающее выбор стека в зависимости от требований проекта.
Подробнее