On This Page
Use cases
Mateu is especially powerful for a specific type of applications.
If you’re building any of the following, Mateu can dramatically reduce complexity.
Internal tools
Build admin panels, dashboards, and back-office tools without a frontend team.
Typical features
- forms
- tables
- filters
- actions
- workflows
Why Mateu fits
- no frontend duplication
- fast iteration
- simple architecture
CRUD applications
Mateu shines in data-heavy applications.
Example
@UI("")
public class Users {
List<User> users = userService.findAll();
@Button
Runnable create = () -> {};
}
Mateu generates:
- tables
- forms
- actions
Enterprise apps
Large business applications often suffer from:
- duplicated models
- frontend/backend sync issues
- complex architectures
Mateu simplifies this by:
- defining UI in one place
- removing API glue
- reducing moving parts
Microservice UIs
Mateu is stateless and works naturally with distributed systems.
You can:
- expose UIs from multiple services
- compose them in a single frontend
- scale independently
Embedded UIs
Mateu UIs can be embedded anywhere as web components.
Use cases:
- integrate into existing apps
- expose specific forms
- build modular UIs
When NOT to use Mateu
Mateu is not ideal for:
- highly custom visual experiences
- marketing websites
- animation-heavy UIs
Summary
Mateu works best when:
- UI is driven by data and actions
- speed matters more than pixel-perfect design
- you want fewer moving parts
👉 Try the live demo: https://vaadin.mateu.io/fluent/use-cases/rra