new UiFormSpecifier().ui user, {
section "User", {
field user.username_
field user.firstName_
field user.lastName_
ajaxField user.manager_,
this.&selectUser
}
formAction this.&saveUser
}Crea la tua intranet usando un DSL (senza HTML o JavaScript)
Taack-UI è un plugin per Grails che estende Grails descrivendo le interfacce utente tramite un DSL Groovy (Domain Specific Language) tipizzato staticamente.
Prima applicazione
Passo dopo passo: una tabella, un modulo, un filtro, un menu.
Dal codice allo schermo
Un modulo richiede poche righe di Groovy. I campi sono simboli generati dalla tua classe (username_), quindi il compilatore li controlla; i vincoli diventano messaggi di errore localizzati.
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
})
}
})
}
Funzionalità
Sicurezza per singolo campo
Gli oggetti vengono visualizzati e modificati in base ai permessi dell’utente su ogni campo. I link e le azioni dei moduli che l’utente non può eseguire vengono nascosti automaticamente.
Un solo DSL, ogni formato di output
La stessa descrizione genera HTML, PDF, email e CSV.
Localizzato e validato
Le etichette provengono dai file i18n e gli errori di validazione vengono localizzati senza codice aggiuntivo.
Filtra, ordina, impagina
Tabelle e filtri senza scrivere query né mantenere dati in sessione.
Ricerca full-text
Indicizzazione Solr di oggetti di dominio tipizzati staticamente, con faceting e ranking. Le anteprime dei file sono estendibili.
JDBC sul tuo modello
Interroga gli oggetti di dominio con TQL (Taack Query Language) da IntelliJ, DBeaver o LibreOffice Base.
SSH e SFTP
Un’interfaccia shell in esecuzione nel processo del server e un file system virtuale per utente, con verifica delle credenziali (modulo taack-ui-ssh).
Server Git
L’applicazione Intercom fornisce Git su SSH: la documentazione scritta in AsciiDoc viene inviata tramite push e quindi renderizzata.
Perché Taack?
| Taack | Grails con GSP | Front-end JavaScript | |
|---|---|---|---|
UI scritta in |
DSL Groovy, tipizzato staticamente |
Template GSP, HTML, CSS |
JavaScript o TypeScript, più un’API REST |
Nomi dei campi verificati |
In fase di compilazione |
A runtime |
Dipende dal contratto dell’API |
Permessi per campo e azione |
Integrati, link nascosti automaticamente |
Scritti manualmente |
Scritti manualmente, su entrambi i lati |
PDF, CSV, Email |
Lo stesso DSL dello schermo |
Codice separato |
Codice separato |
Linguaggi da conoscere |
Groovy |
Groovy, HTML, CSS, JavaScript |
Groovy o Java, JavaScript, HTML, CSS |
Realizzato con Taack
SSH e SFTP







