-
Notifications
You must be signed in to change notification settings - Fork 1
Architecture
O eQuantic.UI é um framework UI self-contained para .NET que compila C# para JavaScript/TypeScript otimizado, eliminando a dependência de Node.js, npm ou ferramentas externas no fluxo de desenvolvimento.
- 100% .NET: Lógica de UI, estado e eventos escritos puramente em C#.
- Self-Contained: O ASP.NET Core serve como host e compilador.
- Hybrid Compilation: Separação inteligente entre estrutura estática (Shell) e lógica dinâmica.
- Clean Architecture: Suporte nativo a DDD e CQRS.
O framework é sustentado por três pilares principais que separam responsabilidades de forma clara:
O núcleo de transformação. Utiliza Roslyn para analisar o código C# e gerar código TypeScript intermediário e JavaScript otimizado.
- Estratégia: Converte classes C# em componentes web nativos.
- Output: Gera bundles otimizados usando um binário Bun embarcado, garantindo performance de build superior (até 8x mais rápido que Webpack/Vite tradicional).
Uma biblioteca leve (~15kb) executada no browser.
- Virtual DOM: Algoritmo eficiente de reconciliação para atualizações de UI.
- State Management: Sistema reativo inspirado em React/Flutter, mas sem o overhead de frameworks pesados.
- Dispatcher: Gerencia eventos e comunicação com o servidor.
Middleware ASP.NET Core que integra o framework ao pipeline de requisição HTTP.
-
Routing: Descobre páginas marcadas com
[Page]attributes. - Server Actions: Canal RPC seguro para chamadas C# -> C#.
- SSR: Renderização inicial server-side para SEO e performance (LCP).
O compilador decide o que é estático e o que deve ser dinâmico para otimizar o bundle final.
graph TD
A[C# Component] --> B{Analyser}
B -->|Structure| C[Static Shell (.static.js)]
B -->|Behavior| D[Dynamic Logic (.logic.js)]
C --> E[Bun Bundler]
D --> E
E --> F[Optimized Assets]
- Static Shell: Árvore de widgets imutável compilada em tempo de build.
- Dynamic Logic: Event handlers e estado que executam no cliente.
-
Server Actions: Métodos marcados com
[ServerAction]permanecem no servidor e ganham proxies automáticos no cliente.
O framework suporta SSR nativo para melhor SEO e tempo de carregamento inicial.
O servidor executa o método Build() dos componentes C# e gera HTML puro.
- SEO Automático: Meta tags e OpenGraph gerados automaticamente.
- Performance: O usuário vê o conteúdo imediatamente, antes do download do JS.
Ao carregar, o Runtime não descarta o HTML existente.
- Reconciliação: Ele "caminha" sobre o DOM existente.
- Event Attachment: Anexa apenas os event listeners necessários, sem recriar elementos.
- Estado: Restaura o estado inicial serializado no HTML.
A comunicação entre cliente e servidor via Server Actions é protegida por padrão.
-
Autorização: Suporte aos atributos
[Authorize], Roles e Policies do ASP.NET Core. - Validação: Payloads são sanitizados e validados (limite de 1MB, whitelist de tipos).
- Sem Exposição de API: Não é necessário criar Controllers manuais; o framework gera endpoints RPC seguros internamente.