BESSER
Plataforma de código aberto em Python do tipo «low-code» que transforma modelos B-UML em código funcional
A BESSER é uma plataforma de código aberto e de baixo código destinada a programadores, que gera código em Django, React, Flutter e outras linguagens a partir de modelos B-UML.
Visão geral
Avaliação de BESSER
Esta análise do BESSER aborda as finalidades da plataforma low-code BESSER, as suas principais funcionalidades, os seus custos, a linguagem de modelação B-UML, os seus pontos fortes e fracos, e como se compara com outras ferramentas low-code. A BESSER (Building bEtter Smart Software fastER) é uma plataforma de «baixa modelação e low-code»: o utilizador descreve a sua aplicação como um modelo e, em seguida, os geradores de código transformam esse modelo num backend, num esquema de base de dados, num frontend web ou móvel, ou num agente de IA. Está escrita em Python, é distribuída sob a licença MIT e foi desenvolvida pelo Instituto de Ciência e Tecnologia do Luxemburgo (LIST) em colaboração com a Universidade do Luxemburgo, com financiamento de uma bolsa FNR Pearl. O projeto evolui rapidamente: a versão 7.18.0 foi lançada no GitHub em setembro de 2026.
Para que serve o BESSER?
O BESSER é utilizado para modelar um sistema de software uma única vez e gerar o código correspondente. Um projeto típico começa com um modelo estrutural B-UML (classes, atributos, associações) e gera uma aplicação web em Django, uma API REST com uma base de dados SQL, classes SQLAlchemy ou Pydantic, ou uma aplicação web completa com um front-end em React e um back-end em Python. O mesmo modelo pode gerar uma aplicação móvel Flutter, um backend Java ou Spring Boot, um JSON Schema ou um vocabulário RDF.
A plataforma tem como objetivo o software «inteligente»: aplicações com componentes de IA. É possível modelar um chatbot ou agente e gerá-lo para o BESSER Agentic Framework, modelar uma rede neural e gerar código PyTorch ou TensorFlow, ou modelar um circuito quântico e gerar código Qiskit. Os investigadores utilizam o BESSER para engenharia orientada por modelos e modelação assistida por IA; as equipas de desenvolvimento utilizam-no para gerar as partes repetitivas de uma pilha de aplicações e manter o modelo como a única descrição do sistema.
Principais funcionalidades
- B-UML: a abordagem do BESSER, baseada em Python, a uma «Linguagem Universal de Modelagem», inspirada na UML mas não estritamente compatível com ela, pelo que se ativam apenas as sublinguagens de que um projeto necessita.
- Vários tipos de modelos: estruturais, de objetos, GUI, máquinas de estados, agentes, BPMN, funcionalidades, arquitetura de implementação, redes neurais e modelos quânticos, além de restrições OCL e modelos de utilizador (documentação do B-UML).
- Geradores de código: Aplicação Web completa, Django, Backend, Spring Boot, API REST, classes Python, Pydantic e Java, casos de teste, Flutter, React, esquema SQL, SQLAlchemy, JSON Schema, RDF, Terraform, PyTorch, TensorFlow, Qiskit, o BESSER Agentic Framework e BPMN.
- Editor de Modelagem Web BESSER: um editor de diagramas baseado em navegador disponível em editor.besser-pearl.org, onde pode desenhar modelos B-UML com a funcionalidade «arrastar e largar» e executar os geradores sem necessidade de instalar nada.
- Várias formas de criar um modelo: escrevê-lo com a API Python, utilizar uma gramática textual (compatível com PlantUML para modelos de classes e objetos), desenhá-lo no editor web ou transformar uma imagem, um esboço feito à mão ou um protótipo de interface de utilizador num modelo com IA.
- Modelação de agentes: conceba um agente conversacional e, em seguida, converse com ele na simulação de agente em tempo real do editor, adicionada na versão 7.18.0 (notas de lançamento).
- Aberto e extensível: código Python sob licença MIT, «pip install besser», os seus próprios geradores e modelos, integração com agentes de codificação de IA através de competências de agente e uma configuração do Docker para executar o editor localmente.
Preços do BESSER
O BESSER é gratuito. A plataforma, a biblioteca Python e os geradores são de código aberto sob a licença MIT, e o Editor de Modelação Web do BESSER está disponível gratuitamente. Não existem planos, licenças nem métricas de utilização, nem qualquer nível pago listado na documentação do BESSER até setembro de 2026.
O custo que pode surpreender é tudo o que está relacionado com o código. É o próprio utilizador que hospeda e executa a aplicação gerada, pelo que os servidores, as bases de dados e a implementação são custos a seu cargo. Funcionalidades assistidas por IA, como a transformação de imagem em modelo, recorrem a grandes modelos de linguagem externos; por isso, verifique qual o fornecedor e a chave de API necessários. Não existe um contrato de suporte comercial: a ajuda provém das questões no GitHub e da equipa de investigação; por isso, reserve tempo dos programadores para correções e para escrever os seus próprios modelos de gerador quando os predefinidos não forem adequados.
Modelos B-UML e o Editor de Modelação Web BESSER
O B-UML é o coração da plataforma. Um modelo B-UML é um conjunto de objetos Python que refletem conceitos UML: classes com atributos e operações, associações com multiplicidades, generalizações, enumerações e restrições escritas em OCL. Cada atributo tem um tipo e pode conter um valor predefinido; cada operação tem parâmetros tipados e um tipo de retorno. Como o modelo é escrito em Python puro, pode inspecioná-lo, validá-lo e guardá-lo como qualquer outro código Python, bem como adicionar uma descrição a cada elemento para documentar o projeto. Pode construir o modelo em código, analisá-lo a partir de texto no estilo PlantUML ou desenhá-lo no Editor de Modelação Web BESSER (BESSER WME). O editor armazena projetos que podem conter, em conjunto, um diagrama de classes, diagramas de objetos, um modelo de GUI, máquinas de estados e agentes, para que possa editar todos os modelos B-UML de um sistema num único local e, em seguida, exportar e reimportar o projeto.
Como todos os geradores leem o mesmo modelo B-UML, uma alteração no modelo é refletida na aplicação Django, no esquema SQL e no front-end React na próxima execução do gerador. A equipa de investigação publicou também um conjunto de dados B-UML com 5 410 modelos em 220 categorias, cada um editável no editor web com uma descrição textual e código Python, destinado a equipas que pretendam exemplos ou dados para modelação assistida por IA (Linguagens de Modelação).
De um modelo B-UML ao código Python: um exemplo
Considere um pequeno sistema de biblioteca, o exemplo que a documentação do BESSER também utiliza. No modelo B-UML, cria-se três classes: Livro, Autor e Biblioteca. A classe Book possui os atributos título, páginas e data de lançamento, cada um com um tipo; a classe Author possui um nome e um e-mail. As associações definem as relações entre as classes: uma Library tem muitos Books, um Book tem um ou mais Authors, e cada extremidade da associação tem um nome e uma multiplicidade. As operações incluem uma descrição e parâmetros tipados; por exemplo, uma operação na classe Library que devolve os livros de um determinado autor. As restrições OCL adicionam regras de negócio, tais como «o número de páginas deve ser superior a zero», que podem ser verificadas em relação a modelos de objetos com dados reais.
A partir deste único modelo B-UML, o gerador de esquemas SQL cria uma tabela por classe, uma coluna por atributo e as chaves estrangeiras ou tabelas de ligação para cada associação; os geradores SQLAlchemy e Pydantic escrevem o código Python para a camada de dados, e o gerador Django ou Full Web App adiciona as páginas, formulários e pontos de extremidade REST para criar, editar e listar registos. Um modelo GUI na camada superior decide qual a página que mostra qual a tabela ou formulário, quais as ligações que conectam as páginas e a que dados cada utilizador pode aceder. Quando o modelo muda, basta regenerar: a implementação segue o modelo, em vez de se afastar dele. O projeto gerado é código simples que pode ser armazenado no Git, ampliado manualmente e implementado como qualquer outra aplicação Django, React ou Spring Boot.
A UML ainda é utilizada e por que razão a plataforma low-code BESSER se baseia nela?
A UML, ou Linguagem Unificada de Modelagem, é uma notação padrão para descrever software através de diagramas, tais como diagramas de classes, de máquinas de estados e de sequências. Os diagramas de classes da UML continuam a ser a forma mais comum de descrever dados e as suas relações, e a UML ainda é utilizada para conceção, documentação e desenvolvimento orientado por modelos, mas muitas equipas consideram a UML completa demasiado pesada. A BESSER adota uma abordagem pragmática: mantém as partes da UML que geram código útil, acrescenta o que falta à UML para os sistemas modernos (GUI, agentes, redes neurais, implementação) e permite ignorar o resto. A utilização de Python, em vez da pilha de modelação Eclipse baseada em Java, facilita a combinação de modelos com bibliotecas de aprendizagem automática.
Onde o BESSER se destaca — e onde fica aquém
Pontos fortes:
- Gratuito, de código aberto e licenciado pela MIT, sem dependência de fornecedores no código gerado.
- Um único modelo gera vários destinos: componentes web, móveis, de bases de dados, API e de IA.
- Âmbito de modelação invulgarmente amplo, desde diagramas de classes a agentes, redes neurais e circuitos quânticos.
- Uma API em Python adequada para equipas de ciência de dados e IA.
Compromissos:
- Um projeto orientado para a investigação: lançamentos rápidos, mas sem suporte comercial nem SLA.
- É necessário ter competências de modelação; trata-se de uma plataforma de baixo código para programadores, não de um construtor de aplicações sem código.
- As aplicações geradas continuam a necessitar de um programador para as alojar, ampliar e manter.
- Uma comunidade mais pequena e menos modelos do que as plataformas comerciais de baixo código.
Como o BESSER se compara
- BESSER Bot Framework: o projeto irmão para chatbots e agentes, para o qual os modelos de agente do BESSER geram código.
- Mendix e OutSystems: plataformas comerciais «low-code» orientadas por modelos, com alojamento, governação e suporte, a preços empresariais.
- Oracle APEX: aplicações «low-code» numa base de dados Oracle, incluídas no Oracle Database.
- WaveMaker: «low-code» com código Angular e Java gerado que pode exportar.
- Microsoft Power Apps: aplicações empresariais no Microsoft 365, destinadas a «citizen developers» em vez de modeladores.
- FlutterFlow: construtor visual de aplicações Flutter com exportação de código, focado na interface do utilizador.
- Supabase: um backend Postgres de código aberto para quando só precisa da camada de dados.
Vale a pena usar o BESSER?
O BESSER vale a pena para programadores, arquitetos e investigadores que gostam de trabalhar com modelos e pretendem gerar uma pilha de Python, Java ou JavaScript a partir de uma única descrição, sem terem de pagar por uma plataforma comercial. É uma excelente opção para protótipos, projetos de investigação, ensino de engenharia orientada por modelos e aplicações com componentes de IA. É menos adequado para utilizadores empresariais que procuram um construtor de aplicações sem código, ou para empresas que necessitam de um produto com suporte, alojamento e um SLA; o Mendix, o OutSystems ou o Power Apps satisfazem melhor essas necessidades. Se precisar de ajuda para modelar o seu sistema no BESSER ou para transformar o código gerado numa aplicação de produção, os programadores e agências da LowCodeDevs podem encarregar-se disso.
Fontes
- Documentação do BESSER: a plataforma, instalação, licença e financiamento.
- Linguagem B-UML: sublinguagens, formas de criar modelos e a lista de geradores.
- Versões do BESSER no GitHub: histórico de versões, incluindo a v7.18.0 e a simulação de agentes em tempo real.
- Editor de modelação Web do BESSER: o editor baseado no navegador.
- BESSER, uma nova plataforma de código aberto de baixo código, Linguagens de Modelagem: os objetivos de conceção, pelo líder do projeto.
- O conjunto de dados B-UML já está disponível, «Linguagens de modelação»: o conjunto de dados com 5 410 modelos.
Ainda sem avaliações — escreva a primeira.
Num relance
- Site
- https://besser.readthedocs.io/en/latest/
- Categoria
- Outros · Diversos
- Atualizado
Alternativas a BESSER
Perguntas
Perguntas frequentes sobre BESSER
O BESSER é gratuito?
Sim. O BESSER é um software de código aberto ao abrigo da licença MIT, e o editor de modelação online é gratuito. Só paga pela hospedagem das aplicações que criar.
Para que serve o BESSER?
O BESSER é utilizado para modelar um sistema de software em B-UML e gerar código a partir dele, como aplicações web em Django ou React, APIs REST, esquemas SQL, aplicações Flutter, chatbots e redes neurais.
O que é o B-UML?
O B-UML é a linguagem de modelação do BESSER, baseada em Python e inspirada na UML. Abrange modelos de classes, objetos, GUI, máquinas de estados, agentes, BPMN, implementação, redes neurais e modelos quânticos.
O que significa UML?
UML significa Unified Modeling Language (Linguagem de Modelagem Unificada), uma notação padrão para a conceção de software através de diagramas. O B-UML da BESSER baseia-se nessa linguagem, adotando uma abordagem mais pragmática e extensível.
Quem desenvolve o BESSER?
O BESSER é desenvolvido pelo Instituto de Ciência e Tecnologia do Luxemburgo em colaboração com a Universidade do Luxemburgo, financiado por uma bolsa FNR Pearl, e está aberto a contribuições externas no GitHub.
A BESSER é uma plataforma «no-code»?
Não. A BESSER é uma plataforma «low-code» destinada a programadores e modeladores. O utilizador concebe modelos em vez de escrever tudo manualmente, mas continua a ter de compreender a modelação e executar o código gerado.
O que é um exemplo de plataforma «low-code»?
O Mendix, o OutSystems e o Microsoft Power Apps são exemplos de soluções comerciais. O BESSER é um exemplo de código aberto que gera código a partir de modelos, em vez de executar aplicações numa plataforma proprietária.
Noutros lugares do LowCodeDevs
Projetos recentes no LowCodeDevs
Ainda não foi publicado nenhum caso de estudo com BESSER.
Noutros lugares do LowCodeDevs
Agências no LowCodeDevs
Nenhuma agência registou ainda BESSER.
Noutros lugares do LowCodeDevs
Programadores no LowCodeDevs
Nenhum programador indicou ainda BESSER como competência.
A sua experiência
Seja o primeiro especialista em BESSER no LowCodeDevs
As equipas que escolhem BESSER chegam a esta página à procura de alguém que saiba construir com ela. Esse lugar ainda está livre: registe a sua agência ou o seu próprio perfil com BESSER entre as suas ferramentas, e esta página mostrará o seu trabalho.