-
Notifications
You must be signed in to change notification settings - Fork 26
Description
🚀 Feature Request
💡 Descrição da Funcionalidade
A integração do Vaden com o Jaspr pode ser um diferencial significativo para a adoção do framework, considerando que concorrentes como Dart Frog, Serverpod e Shelf já oferecem integrações semelhantes. No entanto, o Vaden tem o potencial de oferecer a melhor experiência de desenvolvimento, superando os outros frameworks, pois ele automatiza a geração de todo o boilerplate necessário.
Imaginem o seguinte cenário:
@JasprView()
Component generatePaymentForm() {
return html([
form(action: '/send-payment-info', [
img(src: 'images/banner.jpg', alt: "Símbolo de citação", width: 100),
input(type: InputType.email, []),
input(type: InputType.number, []),
button(type: ButtonType.submit, []),
]),
]);
}Poderoso, não? Com o Jaspr, poderíamos também renderizar páginas Flutter Web de forma simples.
Utilizando da mesma anotation poderiamos fazer algo como:
@JasprView()
Component generateHelloWorldPage() {
return FlutterEmbedView(
loader: MyCustomLoader(),
widget: Scaffold(
appBar: AppBar(
backgroundColor: Colors.white,
title: Text(widget.title),
),
body: Center(
child: Text('Hello, world!'),
),
),
);
}Ou, se preferirmos simplificar um pouco mais:
@JasprFlutterEmbedView()
Widget generateHelloWorldPage(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.white,
title: Text(widget.title),
),
body: Center(
child: Text('Hello, world!'),
),
);
}Esses exemplos são simples em comparação com o que podemos alcançar. Podemos construir aplicações totalmente modulares, renderizar páginas estáticas, cachear conteúdo gerado no servidor e ainda contar com uma API de testes robusta, proporcionando mais confiança ao desenvolvedor.
Outro ponto importante é que o jaspr já utiliza o shelf como base (engine do vaden), o que facilita a integração.
🎯 Objetivo
Facilitar a geração de páginas e componentes web de maneira simples e eficiente, combinando o poder do Vaden com a flexibilidade do Jaspr.
✅ Critérios de Aceitação
Liste os critérios que devem ser atendidos para considerar essa funcionalidade completa.
Exemplo:
- Configuração de modo de renderização (servidor/cliente).
- Suporte a configurações globais e locais de estilo, incluindo rotas internas, fontes e mais.
- Integração com a API de testes do Vaden, garantindo a confiabilidade da solução.
🔄 Passos Alternativos
Sistema de ui que possa retornar um widget com uma sdk de testes iria ser bacana.
📊 Impacto
Acredito que integrar isso da maneira correta será um turning-point tanto para o framework, tornando-o uma solução fullstack, com testes de ponta a ponta e uma abordagem simplificada para o desenvolvimento de interfaces.
📝 Notas Adicionais
doc do jaspr: https://docs.jaspr.site/
doc da integração do jaspr com flutter web: https://docs.jaspr.site/going_further/flutter_embedding
doc de integração com backend: https://docs.jaspr.site/going_further/backend
playground para o jaspr: https://jasprpad.schultek.de/
📷 Mockups ou Exemplos (se aplicável)
Inclua imagens, diagramas ou protótipos para ilustrar a ideia.