BESSER

Plataforma de código abierto en Python de tipo «low-code» que convierte los modelos B-UML en código funcional

Otros · Varios

BESSER es una plataforma de código abierto y «low-code» para desarrolladores que genera código en Django, React, Flutter y otros lenguajes a partir de modelos B-UML.

Resumen

Reseña de BESSER

Esta reseña sobre BESSER aborda para qué se utiliza la plataforma low-code BESSER, sus características principales, su coste, el lenguaje de modelado B-UML, sus puntos fuertes y débiles, y cómo se compara con otras herramientas low-code. BESSER (Building bEtter Smart Software fastER) es una plataforma de «bajo nivel de modelado y bajo nivel de código»: el usuario describe su aplicación como un modelo y, a continuación, los generadores de código convierten dicho modelo en un backend, un esquema de base de datos, una interfaz web o móvil, o un agente de IA. Está escrita en Python, se distribuye bajo la licencia MIT y ha sido desarrollada por el Instituto de Ciencia y Tecnología de Luxemburgo (LIST) en colaboración con la Universidad de Luxemburgo, con financiación de una beca FNR Pearl. El proyecto avanza a buen ritmo: la versión 7.18.0 se publicó en GitHub en septiembre de 2026.

¿Para qué se utiliza BESSER?

BESSER se utiliza para modelar un sistema de software una sola vez y generar el código correspondiente. Un proyecto típico comienza con un modelo estructural B-UML (clases, atributos, asociaciones) y genera una aplicación web en Django, una API REST con una base de datos SQL, clases de SQLAlchemy o Pydantic, o una aplicación web completa con una interfaz de usuario en React y un backend en Python. El mismo modelo puede dar lugar a una aplicación móvil Flutter, un backend en Java o Spring Boot, un esquema JSON o un vocabulario RDF.

La plataforma tiene como objetivo el software «inteligente»: aplicaciones con componentes de IA. Se puede modelar un chatbot o un agente y generarlo para el BESSER Agentic Framework, modelar una red neuronal y generar código PyTorch o TensorFlow, o modelar un circuito cuántico y generar código Qiskit. Los investigadores utilizan BESSER para la ingeniería basada en modelos y el modelado asistido por IA; los equipos de desarrollo lo utilizan para generar las partes repetitivas de una pila de aplicaciones y mantener el modelo como la única descripción del sistema.

Características principales

  • B-UML: la versión de BESSER, basada en Python, de un «lenguaje de modelado universal», inspirada en UML pero sin cumplir estrictamente con él, de modo que solo se activan los sublenguajes que necesita un proyecto.
  • Numerosos tipos de modelos: estructurales, de objetos, de interfaz gráfica de usuario (GUI), de máquinas de estados, de agentes, BPMN, de características, de arquitectura de implementación, de redes neuronales y modelos cuánticos, además de restricciones OCL y modelos de usuario (documentación de B-UML).
  • Generadores de código: Aplicación web completa, Django, backend, Spring Boot, API REST, clases de Python, Pydantic y Java, casos de prueba, Flutter, React, esquema SQL, SQLAlchemy, esquema JSON, RDF, Terraform, PyTorch, TensorFlow, Qiskit, el marco BESSER Agentic y BPMN.
  • Editor de modelado web de BESSER: un editor de diagramas basado en navegador disponible en editor.besser-pearl.org, donde puedes dibujar modelos B-UML mediante arrastrar y soltar y ejecutar los generadores sin necesidad de instalar nada.
  • Varias formas de crear un modelo: escribirlo con la API de Python, utilizar una gramática textual (compatible con PlantUML para modelos de clases y objetos), dibujarlo en el editor web o transformar una imagen, un boceto dibujado a mano o una maqueta de interfaz de usuario en un modelo mediante IA.
  • Modelado de agentes: diseña un agente conversacional y luego chatea con él en la simulación de agente en tiempo real del editor, incorporada en la versión 7.18.0 (notas de la versión).
  • Abierto y extensible: código Python con licencia del MIT, «pip install besser», tus propios generadores y plantillas, integración con agentes de programación basados en IA a través de habilidades de agente, y una configuración de Docker para ejecutar el editor localmente.

Precios de BESSER

BESSER es gratuito. La plataforma, la biblioteca de Python y los generadores son de código abierto bajo la licencia MIT, y el editor web de modelado BESSER se puede utilizar de forma gratuita. No hay planes, licencias ni métricas de uso, y no figura ningún nivel de pago en la documentación de BESSER a fecha de septiembre de 2026.

El coste que hay que tener en cuenta es todo lo relacionado con el código. Tú mismo alojas y ejecutas la aplicación generada, por lo que los servidores, las bases de datos y la implementación corren a tu cargo. Las funciones asistidas por IA, como la transformación de imagen a modelo, recurren a grandes modelos de lenguaje externos, así que comprueba qué proveedor y qué clave API necesitan. No existe ningún contrato de soporte técnico comercial: la ayuda proviene de los tickets de GitHub y del equipo de investigación, por lo que debes presupuestar tiempo de los desarrolladores para las correcciones y para escribir tus propias plantillas de generador cuando las predeterminadas no se ajusten a tus necesidades.

Los modelos B-UML y el editor de modelado web BESSER

B-UML es el núcleo de la plataforma. Un modelo B-UML es un conjunto de objetos de Python que reflejan los conceptos de UML: clases con atributos y operaciones, asociaciones con multiplicidades, generalizaciones, enumeraciones y restricciones escritas en OCL. Cada atributo tiene un tipo y puede tener un valor por defecto; cada operación tiene parámetros tipados y un tipo de retorno. Dado que el modelo está escrito en Python puro, puedes inspeccionarlo, validarlo y guardarlo como cualquier otro código de Python, así como añadir una descripción a cada elemento para documentar el diseño. Puedes crear el modelo mediante código, analizarlo a partir de texto al estilo PlantUML o dibujarlo en el Editor de modelado web de BESSER (BESSER WME). El editor almacena proyectos que pueden contener conjuntamente un diagrama de clases, diagramas de objetos, un modelo de interfaz gráfica de usuario (GUI), máquinas de estados y agentes, de modo que se puede editar cada modelo B-UML de un sistema en un único lugar y, a continuación, exportar y volver a importar el proyecto.

Dado que todos los generadores leen el mismo modelo B-UML, cualquier cambio en el modelo se refleja en la aplicación de Django, el esquema SQL y la interfaz de usuario de React en la siguiente ejecución del generador. El equipo de investigación también ha publicado un conjunto de datos B-UML compuesto por 5.410 modelos en 220 categorías, cada uno de ellos editable en el editor web con una descripción textual y código Python, para equipos que deseen ejemplos o datos para el modelado asistido por IA (Lenguajes de modelado).

De un modelo B-UML a código Python: un ejemplo

Tomemos como ejemplo un pequeño sistema de biblioteca, el mismo que utiliza la documentación de BESSER. En el modelo B-UML se crean tres clases: Libro, Autor y Biblioteca. La clase «Book» tiene los atributos «title», «pages» y «release date», cada uno con un tipo; la clase «Author» tiene un nombre y un correo electrónico. Las asociaciones definen las relaciones entre clases: una «Library» tiene muchos «Books», un «Book» tiene uno o más «Authors», y cada extremo de la asociación tiene un nombre y una multiplicidad. Las operaciones incluyen una descripción y parámetros tipados; por ejemplo, una operación sobre Library que devuelve los libros de un autor. Las restricciones OCL añaden reglas de negocio, como «páginas debe ser mayor que cero», que se pueden comprobar con modelos de objetos de datos reales.

A partir de este único modelo B-UML, el generador de esquemas SQL crea una tabla por clase, una columna por atributo y las claves externas o tablas de enlace para cada asociación; los generadores de SQLAlchemy y Pydantic escriben el código Python para la capa de datos, y el generador de Django o de aplicaciones web completas añade las páginas, los formularios y los puntos finales REST para crear, editar y listar registros. Un modelo de interfaz gráfica de usuario (GUI) situado en la parte superior decide qué página muestra qué tabla o formulario, qué enlaces conectan las páginas y a qué datos puede acceder cada usuario. Cuando el modelo cambia, se vuelve a generar: la implementación sigue el modelo en lugar de alejarse de él. El proyecto generado es código sin formato que puedes almacenar en Git, ampliar manualmente e implementar como cualquier otra aplicación de Django, React o Spring Boot.

¿Se sigue utilizando UML y por qué la plataforma low-code BESSER se basa en él?

UML, el Lenguaje Unificado de Modelado, es una notación estándar para describir software mediante diagramas como los de clases, máquinas de estados y secuencias. Los diagramas de clases UML siguen siendo la forma más habitual de describir datos y sus relaciones, y UML sigue utilizándose para el diseño, la documentación y el desarrollo basado en modelos, pero muchos equipos consideran que el UML completo resulta demasiado pesado. BESSER adopta un enfoque pragmático: conserva las partes de UML que generan código útil, añade lo que le falta a UML para los sistemas modernos (interfaz gráfica de usuario, agentes, redes neuronales, implementación) y te permite omitir el resto. El uso de Python, en lugar de la pila de modelado de Eclipse basada en Java, facilita la combinación de modelos con bibliotecas de aprendizaje automático.

Donde destaca BESSER — y dónde se queda corto

Puntos fuertes:

  • Es gratuito, de código abierto y con licencia MIT, sin dependencia de un proveedor en el código generado.
  • Un único modelo genera múltiples destinos: componentes web, móviles, de bases de datos, API e IA.
  • Ámbito de modelado inusualmente amplio, desde diagramas de clases hasta agentes, redes neuronales y circuitos cuánticos.
  • Una API de Python adecuada para equipos de ciencia de datos e IA.

Inconvenientes:

  • Un proyecto impulsado por la investigación: lanzamientos rápidos, pero sin soporte comercial ni acuerdo de nivel de servicio (SLA).
  • Se necesitan conocimientos de modelado; es una plataforma de bajo código para desarrolladores, no un generador de aplicaciones sin código.
  • Las aplicaciones generadas siguen necesitando un desarrollador que las aloje, amplíe y mantenga.
  • Una comunidad más reducida y menos plantillas que las plataformas comerciales de bajo código.

Comparativa de BESSER

  • BESSER Bot Framework: el proyecto hermano para chatbots y agentes, para el que los modelos de agente de BESSER generan código.
  • Mendix y OutSystems: plataformas comerciales de bajo código basadas en modelos que ofrecen alojamiento, gobernanza y soporte técnico, a precios empresariales.
  • Oracle APEX: aplicaciones «low-code» en una base de datos Oracle, incluidas con Oracle Database.
  • WaveMaker: «low-code» con código Angular y Java generado que se puede exportar.
  • Microsoft Power Apps: aplicaciones empresariales integradas en Microsoft 365, dirigidas a desarrolladores no profesionales más que a modeladores.
  • FlutterFlow: generador visual de aplicaciones Flutter con exportación de código, centrado en la interfaz de usuario.
  • Supabase: un backend de Postgres de código abierto para cuando solo necesitas la capa de datos.

¿Merece la pena BESSER?

BESSER merece la pena para desarrolladores, arquitectos e investigadores a los que les gusta trabajar con modelos y quieren generar una pila de Python, Java o JavaScript a partir de una única descripción, sin tener que pagar por una plataforma comercial. Es una opción ideal para prototipos, proyectos de investigación, la enseñanza de la ingeniería basada en modelos y aplicaciones con componentes de IA. Resulta menos adecuado para usuarios empresariales que buscan un generador de aplicaciones sin código, o para empresas que necesitan un producto con soporte técnico, alojamiento y un acuerdo de nivel de servicio (SLA); Mendix, OutSystems o Power Apps se adaptan mejor a esas necesidades. Si necesitas ayuda para modelar tu sistema en BESSER o para convertir el código generado en una aplicación de producción, los desarrolladores y agencias de LowCodeDevs pueden encargarse de ello.

Fuentes

Aún no hay reseñas — escribe la primera.

De un vistazo

Sitio web
https://besser.readthedocs.io/en/latest/
Categoría
Otros · Varios
Actualizado

Preguntas

Preguntas frecuentes sobre BESSER

¿BESSER es gratuito?

Sí. BESSER es de código abierto bajo la licencia MIT, y el editor de modelado web en línea es gratuito. Solo pagas por el alojamiento de las aplicaciones que generes.

¿Para qué se utiliza BESSER?

BESSER se utiliza para modelar un sistema de software en B-UML y generar código a partir de él, como aplicaciones web de Django o React, API REST, esquemas SQL, aplicaciones de Flutter, chatbots y redes neuronales.

¿Qué es B-UML?

B-UML es el lenguaje de modelado de BESSER basado en Python, inspirado en UML. Abarca modelos de clases, objetos, interfaces gráficas de usuario, máquinas de estados, agentes, BPMN, implementación, redes neuronales y cuánticos.

¿Qué significa UML?

UML son las siglas de «Unified Modeling Language» (Lenguaje Unificado de Modelado), una notación estándar para diseñar software mediante diagramas. El B-UML de BESSER se basa en él y ofrece un enfoque más pragmático y extensible.

¿Quién desarrolla BESSER?

BESSER ha sido desarrollado por el Instituto de Ciencia y Tecnología de Luxemburgo en colaboración con la Universidad de Luxemburgo, con financiación de una beca «Pearl» de la FNR, y está abierto a colaboraciones externas en GitHub.

¿Es BESSER una plataforma sin código?

No. BESSER es una plataforma «low-code» para desarrolladores y modeladores. Se diseñan modelos en lugar de escribirlo todo a mano, pero aún así es necesario comprender el proceso de modelado y ejecutar el código generado.

¿Cuál es un ejemplo de plataforma «low-code»?

Mendix, OutSystems y Microsoft Power Apps son ejemplos de soluciones comerciales. BESSER es un ejemplo de código abierto que genera código a partir de modelos, en lugar de ejecutar aplicaciones en una plataforma propietaria.

En otras partes de LowCodeDevs

Proyectos recientes en LowCodeDevs

Aún no se ha publicado ningún caso de éxito con BESSER.

Publica el primer caso de éxito con BESSER →

Tu experiencia

Sé el primer experto en BESSER en LowCodeDevs

Los equipos que eligen BESSER llegan a esta página buscando a alguien que sepa construir con esta herramienta. Ese sitio sigue libre: publica tu agencia o tu propio perfil con BESSER entre tus herramientas y esta página mostrará tu trabajo.

Empieza ya

¿Listo para lanzar tu próximo proyecto?

Únete gratis a LowCodeDevs — publica tus herramientas low-code, tu agencia o tu perfil de desarrollador, y deja que te encuentren quienes te necesitan.

Crea tu cuenta