Roadmap & Evolução Técnica: Horse Framework
July 15, 2026 · View on GitHub
Este documento detalha o planejamento de melhorias e novas implementações no ecossistema do framework Horse.
Important
Filosofia de Design: Em alinhamento com seu propósito minimalista e focado em alta performance (Express-inspired), o Horse Core é mantido o mais enxuto possível. Toda nova funcionalidade de alto nível é planejada e implementada prioritariamente na forma de middlewares oficiais e extensões externas, evitando o inchaço do núcleo do framework.
🗺️ Linha do Tempo de Evolução (Roadmap)
O diagrama abaixo apresenta cronologicamente as grandes entregas de infraestrutura já consolidadas no núcleo do framework e os próximos pacotes oficiais de middlewares planejados para o ecossistema:
timeline
title Evolução Arquitetural do Ecossistema Horse
section Entregas do Core
Consolidação e Infraestrutura : "Ganchos CPS (Lifecycle)" : "Desligamento Suave (Graceful)" : "Injeção de Dependências (Services)"
Performance : "Multi-Instance (THorseInstance)" : "Pool de Buffers (IMemoryBufferPool)" : "Telemetria & APM"
Roteamento & Protocolos : "Roteamento Regex" : "Suporte a gRPC (HTTP/2)" : "WebSockets Nativos"
section Entregas de Middlewares
Segurança e Validação : "horse-dto" : "horse-helmet (Security Headers)"
section Próximos Middlewares (Backlog)
Segurança & Redes : "Adoção Recomendada do gbswagger"
📋 Quadro de Evolução do Backlog (Kanban)
Abaixo está o status detalhado das evoluções do framework e de seus middlewares:
| 🟥 A Fazer (Backlog) | 🟨 Em Progresso (Planejamento) | 🟩 Concluído (Entregue) |
|---|---|---|
Adoção do gbswagger (Comunidade)Integração e recomendação oficial para documentação OpenAPI. | WebSockets Nativos (Core & Providers) Suporte bidirecional (RFC 6455) com porta compartilhada e fail-fast. | |
| Suporte a gRPC (Provedor) Transporte focado em RPC binário de alta performance sobre HTTP/2. | ||
| Roteamento Regex e Opcionais (Core) Suporte a rotas dinâmicas complexas no Radix e Tree. | ||
| Ganchos de Telemetria / APM (Core) Infraestrutura de rastreamento de latência fail-safe. | ||
| Pool de Buffers de Memória (Core) Reciclagem de arrays de bytes sem alocações de heap. | ||
Middleware horse-dto (Middleware)Desserialização automática e validação por atributos. | ||
Middleware horse-helmet (Middleware)Configuração de cabeçalhos de segurança HTTP de forma simples. | ||
| Multi-Instance e Server Hooks (Core) Múltiplos servidores no mesmo processo e hooks de inicialização. | ||
| Cadeia de Middlewares por Rota (Core) Registro sequencial de callbacks locais nas rotas. |
🔍 Detalhes das Próximas Evoluções (Backlog)
1. Adoção Recomendada do gbswagger (Swagger / OpenAPI)
- Tipo: Retorno/Integração com Biblioteca de Terceiros (Comunidade)
- Propósito: Em vez de fragmentar o ecossistema recriando um novo gerador de documentação, o Horse adota oficialmente e recomenda o uso de
gabrielbaltazar/gbswaggerpara geração de documentação de rotas automática no padrão OpenAPI. O foco das documentações oficiais será exemplificar a integração suave com este middleware.
✅ Histórico de Entregas Recentes e Consolidadas
Consulte as especificações detalhadas das entregas que moldaram as versões recentes do Horse:
- WebSockets Nativos: Conexões persistentes bi-direcionais (RFC 6455) integradas na porta do HTTP principal, suporte a broadcasts, heartbeat/pings e detecção de incompatibilidade com comportamento Fail-Fast.
- Suporte a gRPC (HTTP/2): Transporte binário de alta performance baseado em interfaces publicadas RTTI para arquitetura de microsserviços.
- Middleware
horse-helmet: Configuração simplificada de cabeçalhos de segurança HTTP (como Content-Security-Policy, X-Content-Type-Options, Strict-Transport-Security) e ocultação de headers reveladores. - Roteamento Regex e Parâmetros Opcionais: Implementado em ambos os roteadores (
TreeeRadix) de forma nativa e multiplataforma. - Ganchos de Telemetria e APM: Infraestrutura de baixíssimo overhead para monitoramento de latência e integração com OpenTelemetry.
- Pool de Buffers de Memória (
IMemoryBufferPool): Reciclagem de streams assíncronos e arrays, eliminando fragmentação de memória no heap. - Middleware
horse-dto: Processamento declarativo com DTOs e validação via atributos. - Refatoração Multi-Instance: Isolamento lógico de servidores lógicos permitindo rodar em várias portas de forma concorrente no mesmo processo.
- Desligamento Suave (Graceful Shutdown): Drenagem coordenada de conexões ativas antes do encerramento da porta.
- Injeção de Dependências (
Req.Services): Container IoC integrado no ciclo de vida do request. - Ganchos de Ciclo de Vida da Requisição e do Servidor: Pontos de interceptação padronizados (
onRequest,preValidation,BeforeListen, etc.).