Alternativa a Apache Tapestry

Programa menos, produce más, como con Apache Tapestry pero OpenXava es más productivo para aplicaciones de negocio.

@Entity @Getter @Setter
@View(members=
    "year, number, date;" +
    "customer;" +
    "details { details }"
)
public class Invoice extends Identifiable {

    @Required int year;
    @Required int number;
    @Required LocalDate date;

    @ManyToOne(optional=false)
    Customer customer;

    @ElementCollection @OrderColumn
    @ListProperties("product.number, " +
        "product.description, unitPrice, " +
        "quantity, amount")
    List<InvoiceDetail> details;

    @ReadOnly @Money
    @Calculation("sum(details.amount) + vat")
    BigDecimal total;
}
OpenXava application

De unas pocas clases Java a una aplicación completa — sin escribir frontend.

Características

Mínimo código, mínimo coste

Con OpenXava solo defines la estructura de datos y la lógica de negocio en clases Java simples; la interfaz de usuario y la persistencia las proporciona el framework. Una aplicación de facturación son 4 clases Java, no decenas de archivos entre controladores, DTOs, componentes de frontend, CSS y SQL. Si programas con un asistente de IA, menos código significa menos tokens: la aplicación se genera más rápido y con un coste mucho menor. Y como ahora el cuello de botella es revisar el código, no escribirlo, también significa menos que revisar, menos errores y menos deuda técnica.

Spring Boot y Jakarta EE, con Java moderno

Las aplicaciones OpenXava son aplicaciones Spring Boot 4.1 basadas en Jakarta EE 11, con Hibernate 7 y Java 17, 21 o 25. Te sentirás en casa: configuración en application.properties, dependencias alineadas con Spring Boot y todo el ecosistema Spring a tu alcance. El WAR generado se ejecuta directamente con java -jar o se despliega en un Tomcat 11 estándar.

La IA acierta a la primera

El modelo declarativo de OpenXava, Java con anotaciones, deja muy poco margen para equivocarse: la IA no tiene que decidir cómo construir la interfaz ni la persistencia, solo describe tus entidades y tu lógica siguiendo siempre los mismos patrones. Además, los proyectos OpenXava incluyen un AGENTS.md para que agentes como Claude, Cursor o Copilot generen código OpenXava correcto al primer intento. Y a diferencia de las herramientas low-code visuales, todo es código Java que versionas con Git y revisas en un pull request.

Flexibilidad sin límites

Las anotaciones de vista resuelven la mayoría de los casos con un alto nivel de abstracción, pero nunca te quedas atrapado. Puedes definir tus propias acciones y controladores para una parte de la aplicación, o sustituir el comportamiento estándar de toda ella. Puedes crear tus propios editores para cualquier tipo o propiedad, cambiando cómo se genera cualquier parte de la interfaz. Y si lo necesitas, puedes generar tu propio HTML y JavaScript para cualquier módulo.

Aplicaciones completas desde el primer día

Aplicaciones web fluidas y listas para producción: sin recargas de página, solo se actualizan los fragmentos de HTML necesarios. Modo lista editable con paginación, ordenación, filtros, columnas configurables, informes PDF, exportación e importación a Excel, vista de tarjetas y gráficos. Modo detalle con pestañas, marcos, diálogos, editores para referencias y colecciones, diseño adaptable, mapas, hilos de discusión, galería de fotos, subida de archivos y cuadros de mando. Traducidas a 14 idiomas e interfaz para móvil con XavaPro.

Arquitectura moderna, sin frontend que mantener

Bajo el capó, OpenXava es un motor HTML Over The Wire de última generación: la interfaz se genera en Java puro en el servidor y se actualiza desde el navegador con fetch(). Sin React, sin Angular, sin node_modules ni compilación de JavaScript. Un solo lenguaje, Java, desde la base de datos hasta la pantalla.

Aplicaciones con chat de IA integrado

Las aplicaciones OpenXava incluyen de serie un chat de IA con el que los usuarios consultan datos, modifican registros e interactúan con la aplicación en lenguaje natural. En lugar de navegar por pantallas y menús, simplemente piden a la aplicación lo que necesitan. El chat forma parte del núcleo de OpenXava, está basado en LangChain4J y funciona junto a la interfaz de usuario tradicional.

Recarga en caliente del código

Modifica entidades, acciones, archivos de configuración o mensajes i18n y observa el cambio al instante, sin reiniciar la aplicación. Recarga en caliente integrada en el framework y gratuita, sin herramientas externas de pago. Perfecta para trabajar con IA: el asistente modifica el código y tú ves el resultado en el navegador en segundos, en un ciclo de iteración muy rápido.

Ver todas las características

Lo que dice la gente

"OpenXava es uno de los mejores frameworks para combinar con el vibe coding. La seguridad, la auditoría, la autorización a nivel de campo y todo lo demás ya está hecho, lo que me da la tranquilidad de confiar en que la IA no romperá nada ni hará mi aplicación vulnerable. ... OpenXava es la base sólida que todo el mundo necesita."

Carlson Weber Filho

"OpenXava me parece una herramienta extraordinaria, hace realidad lo que parecía una fantasía, esto es el MDD y a la vez me permite trabajar en un esquema RAD, todo ello usando Java."

Andrés Carranza Moreno

"Llevo casi 40 años desarrollando software y estoy muy impresionado con OpenXava, no solo por la facilidad con la que he desarrollado rápidamente una aplicación funcional, sino por las amplias personalizaciones que se pueden aplicar para lograr comportamientos más complejos y la apariencia deseada."

Vince Adamo

"He trabajado con plataformas Low-Code como Mendix, Paga, OutSystems, etc. Parece más fácil trabajar sin código, sólo arrastrar y soltar, y poner valor a propiedades, pero todavía es más fácil trabajar con OpenXava."

Okbah Mushaweh

"Lo que de verdad te atrapa de OpenXava es la velocidad de desarrollo sin comprometer la calidad."

Kazeem Akinrinde

"Tengo que decir: ¡mis felicitaciones! ... Tengo realmente muchísima experiencia en automatización de la UI. Por eso cuesta bastante impresionarme. Y estoy impresionado."

Val Huber

"Hicimos con OpenXava un ERP modelizable y escalable que no tiene nada que envidiarle a SAP, incluso logramos que sea un HUB de conexiones de plataformas de ecommerce. Las implementaciones son exitosas y las empresas están contentas, por la gran estabilidad y gran rendimiento, incluyendo clientes con varios años de datos y grandes volúmenes."

Ricardo Svibel

"He estado buscando una herramienta web con un enfoque simple, lógico y entendible durante años y OpenXava es lo primero que encuentro que cumple mis expectativas. La mayoría de las herramientas, como VisualStudio Web App, son tan extremadamente confusas y con tantas piezas móviles que la curva de aprendizaje es insuperable."

Dennis Kikendall

"OpenXava para mí es una herramienta excepcional, ahorrándonos tiempo, haciendo interfaces de usuario estándar, imponiendo un criterio unificado de desarrollo en la organización."

Andrea Passoti

Crea tu primer proyecto OpenXava

mvn archetype:generate -DarchetypeGroupId=org.openxava -DarchetypeArtifactId=openxava-master-detail-archetype -DarchetypeVersion=RELEASE -DgroupId=com.yourcompany -DartifactId=yourapp -DinteractiveMode=false
cd yourapp
mvn spring-boot:run

Después abre http://localhost:8080/yourapp — tu aplicación ya está funcionando.

¿Listo para probarlo?

Empieza ahora

Último del blog: XavaPro 8.0 disponible