new UiFormSpecifier().ui user, {
section "User", {
field user.username_
field user.firstName_
field user.lastName_
ajaxField user.manager_,
this.&selectUser
}
formAction this.&saveUser
}Cree su propia intranet usando un DSL (sin HTML ni JavaScript)
Taack-UI es un plugin de Grails que amplía Grails describiendo interfaces de usuario mediante un DSL de Groovy (Domain Specific Language) con tipado estático.
Primera aplicación
Paso a paso: una tabla, un formulario, un filtro, un menú.
Probar los DSL
Cada página de DSL abre sus ejemplos en vivo, en una ventana modal.
Del código a la pantalla
Un formulario ocupa unas pocas líneas de Groovy. Los campos son símbolos generados a partir de su clase (username_), por lo que el compilador los verifica; las restricciones se convierten en mensajes de error localizados.
def form() {
DslSampleUser u = new DslSampleUser()
taackUiService.show(new UiBlockSpecifier().ui {
modal {
form createForm(u, {
row {
col {
section 'User', {
field u.username_
field u.firstName_
field u.lastName_
}
}
col {
section 'Details', {
field u.age_
field u.birthday_
field u.city_
field u.status_
field u.enabled_
}
}
}
formAction this.&saveForm as MC
})
}
})
}
Características
Seguridad por campo
Los objetos se muestran y editan según los permisos del usuario en cada campo. Los enlaces y acciones de formulario que el usuario no puede ejecutar se ocultan automáticamente.
Un DSL, todas las salidas
La misma descripción se renderiza en HTML, PDF, correos electrónicos y CSV.
Localizado y validado
Las etiquetas provienen de archivos i18n y los errores de validación se localizan sin código adicional.
Filtrar, ordenar, paginar
Tablas y filtros sin escribir consultas ni mantener datos de sesión.
Búsqueda de texto completo
Indexación con Solr de objetos de dominio con tipado estático, con facetas y clasificación. Las vistas previas de archivos se pueden ampliar.
JDBC sobre su modelo
Consulte objetos de dominio con TQL (Taack Query Language) desde IntelliJ, DBeaver o LibreOffice Base.
SSH y SFTP
Una interfaz de consola ejecutándose dentro del proceso del servidor y un sistema de archivos virtual por usuario, con verificación de credenciales (módulo taack-ui-ssh).
Servidor Git
La aplicación Intercom sirve Git sobre SSH: la documentación escrita en AsciiDoc se envía mediante push y luego se renderiza.
¿Por qué Taack?
| Taack | Grails con GSP | Front-end en JavaScript | |
|---|---|---|---|
UI escrita en |
DSL de Groovy, con tipado estático |
Plantillas GSP, HTML, CSS |
JavaScript o TypeScript, más una API REST |
Nombres de campos verificados |
En tiempo de compilación |
En tiempo de ejecución |
Depende del contrato de la API |
Permisos por campo y acción |
Integrados, enlaces ocultados automáticamente |
Escritos a mano |
Escritos a mano, en ambos lados |
PDF, CSV, Correos |
El mismo DSL que en pantalla |
Código separado |
Código separado |
Lenguajes necesarios |
Groovy |
Groovy, HTML, CSS, JavaScript |
Groovy o Java, JavaScript, HTML, CSS |
Creado con Taack
Collabora Editor: edición en línea de archivos adjuntos de oficina con Collabora.
SSH y SFTP







