SAPUI5
O SAPUI5 é o framework JavaScript de UI corporativo da SAP para construir apps SAP Fiori que rodam no navegador, com uma estrutura model-view-controller e data binding com serviços OData. O SAPUI5 é a distribuição licenciada pela SAP do mesmo núcleo do OpenUI5, que é open source, mais bibliotecas adicionais, como gráficos e smart controls orientados a anotações, entregues apenas com produtos SAP.
Resumo
- Tipo
- Framework JavaScript de UI (MVC, data binding, bibliotecas de controles)
- Camada
- Aplicações de UI
- Entregue com
- SAP BTP (content delivery network), plataforma ABAP / SAP Fiori front-end server, SAP S/4HANA Cloud
- Núcleo open source
- OpenUI5 (licença Apache 2.0)
- Ritmo de releases
- Versões minor mensais no SAP BTP; versões de manutenção de longo prazo para front-end servers on-premise
- Quem trabalha com ele
- Desenvolvedores SAP Fiori, arquitetos de UI, equipes de Basis que planejam upgrades
- Aplica-se a
- SAP S/4HANA (todas as opções de implantação), SAP BTP
Camada: Aplicações de UIOnde se encaixa ▾
Camada: Aplicações de UI
Abrir o mapa de arquitetura →Como o SAPUI5 funciona?
Um app SAPUI5 é um conjunto de arquivos que o navegador carrega e executa. Os principais blocos de construção são:
- Component — o ponto de entrada do app, que o SAP Fiori Launchpad ou outro contêiner instancia.
- App descriptor (manifest.json) — declara fontes de dados, modelos, roteamento, dependências e inbounds de navegação.
- Views — geralmente em XML, declaram quais controles aparecem na tela, em sua maioria de bibliotecas como
sap.m. - Controllers — código JavaScript ou TypeScript que reage a eventos do usuário.
- Models — modelos OData V2 ou V4 para dados do back-end, modelos JSON para estado local, resource models para textos traduzidos.
O data binding conecta os controles às propriedades do modelo, de modo que um campo se atualiza quando os dados mudam, sem código de ligação escrito à mão. Temas como o SAP Horizon dão estilo consistente a todos os controles. O SAPUI5 é, portanto, um framework de aplicação, não apenas uma biblioteca de widgets: ele define como um app é estruturado, carregado e conectado aos dados.
Onde o SAPUI5 fica na arquitetura do SAP Fiori?
O SAPUI5 roda na camada de aplicações de UI, dentro do navegador do usuário. Acima dele, o SAP Fiori Launchpad ou o SAP Build Work Zone fornecem o shell, a navegação e os roles. Abaixo dele, serviços OData construídos com o ABAP RESTful application programming model, o SAP Gateway ou outros back-ends entregam os dados e aplicam as regras de negócio.
As duas principais abordagens de desenvolvimento produzem apps SAPUI5. O SAP Fiori elements gera a UI em runtime a partir de anotações OData, usando controles SAPUI5 por baixo. Um app SAPUI5 freestyle é escrito à mão com os mesmos controles. As SAP Fiori Design Guidelines descrevem a experiência do usuário pretendida; o SAPUI5 é uma das tecnologias que a implementam em código. O SAPUI5 é o runtime comum por baixo tanto dos apps SAP Fiori elements quanto dos apps freestyle, seja qual for a forma como o app foi construído.
Qual é a diferença entre o SAPUI5 e o OpenUI5?
A principal diferença é a licença. O OpenUI5 é open source sob a licença Apache 2.0 e desenvolvido publicamente no GitHub. O SAPUI5 é entregue como parte de produtos SAP, como o SAP BTP e a plataforma ABAP.
O runtime central e as bibliotecas de controles mais usadas, por exemplo sap.m, sap.ui.layout e sap.ui.unified, são idênticos nos dois. O SAPUI5 acrescenta outras bibliotecas: gráficos (sap.viz, sap.chart, sap.suite.ui.microchart), smart controls que se configuram a partir de anotações OData (sap.ui.comp), SAP Fiori elements (sap.fe) e o shell do launchpad (sap.ushell). A lista muda a cada release; no SAPUI5 1.154, nenhuma biblioteca é entregue apenas com o OpenUI5. Nomes técnicos e APIs são compartilhados, então o código escrito para o OpenUI5 roda no SAPUI5 quando o runtime é trocado. Os números de versão podem diferir no nível de patch, porque a distribuição SAPUI5 inclui um núcleo OpenUI5.
Para equipes que constroem sobre produtos SAP, o SAPUI5 é a distribuição relevante; o OpenUI5 importa para ferramentas open source e para apps que precisam rodar sem licença SAP.
Qual versão do SAPUI5 o seu sistema executa?
A resposta depende da opção de implantação:
- SAP BTP: a SAP descreve o SAP BTP como o canal principal do SAPUI5. Várias versões estão disponíveis na content delivery network, e cada app escolhe sua versão no bootstrap. Novas versões minor saem aproximadamente todo mês, e as versões são removidas da rede no máximo um ano após o lançamento; consulte a visão geral de versões para saber o status das versões de manutenção de longo prazo.
- On-premise e Private Edition: o SAPUI5 é entregue com o componente de tecnologia de UI da plataforma ABAP. Cada release do SAP Fiori front-end server traz uma versão de manutenção de longo prazo; por exemplo, o front-end server 2023 corresponde ao SAPUI5 1.120, e o front-end server 2025, ao SAPUI5 1.136.
- SAP S/4HANA Cloud Public Edition: o SAPUI5 vem com o produto, e sua manutenção segue a documentação do produto, não a estratégia do SAP BTP.
Critério de decisão: desenvolva e teste com a versão mais baixa do SAPUI5 entre os sistemas em que o app vai rodar. O diálogo de informações técnicas (Ctrl+Alt+Shift+P) mostra a versão realmente carregada. Saber a versão do SAPUI5 é o primeiro passo em qualquer questão de compatibilidade.
Quais são os erros comuns com o SAPUI5?
- Desenvolver para uma versão mais nova do que a de produção. Um recurso disponível no SAP BTP pode não existir no front-end server on-premise. Consulte a visão geral de versões antes de usar um novo controle ou API.
- Depender de APIs deprecated. O carregamento síncrono e outros padrões legados ainda funcionam, mas estão deprecated; o guia de modernização da SAP lista seus substitutos, e o UI5 linter os detecta.
- Fixar a versão de apps no SAP BTP e esquecê-los. Um app preso a uma versão que sai da content delivery network deixa de carregar. Planeje os upgrades de versão como qualquer outra tarefa de manutenção.
- Textos fixos no código. Rótulos pertencem aos resource models; caso contrário, a tradução vira uma alteração de código.
- Escrever tudo em freestyle por hábito. A própria orientação da SAP recomenda o SAP Fiori elements sempre que um floorplan se encaixa e código freestyle quando não se encaixa.
A maioria dos problemas com o SAPUI5 são problemas de ciclo de vida — versões, deprecações e responsabilidade — e não de codificação.
SAPUI5 vs. SAP Fiori Design Guidelines vs. UI5 Web Components: qual é a diferença?
| SAPUI5 | SAP Fiori Design Guidelines | UI5 Web Components | |
|---|---|---|---|
| O que é | Framework de aplicação com controles, modelos e roteamento | Documentação do design system: princípios, floorplans, padrões | Web components independentes de framework com o estilo SAP Fiori |
| Pergunta que responde | Como o app é construído e executado? | Como o app deve parecer e se comportar? | Como usar controles SAP Fiori em outro framework web? |
| Quem usa | Desenvolvedores SAP Fiori | Designers de UX, product owners, desenvolvedores | Desenvolvedores web que usam HTML padrão ou outros frameworks JavaScript |
| Uso típico | Apps freestyle e SAP Fiori elements no SAP S/4HANA e no SAP BTP | Revisões de design e especificações de apps | Apps web fora do modelo de programação SAPUI5 que devem ter a aparência do SAP Fiori |
O SAPUI5 implementa a experiência que as SAP Fiori Design Guidelines descrevem, enquanto os UI5 Web Components oferecem a mesma linguagem visual sem o framework de aplicação SAPUI5.
Perguntas frequentes
O SAPUI5 é gratuito?
O SAPUI5 é licenciado como parte de produtos SAP, como o SAP BTP e a plataforma ABAP, então seu uso está coberto por essas licenças. O OpenUI5, que compartilha o mesmo núcleo e a maioria das bibliotecas de controles comuns, é gratuito e open source sob a licença Apache 2.0.
SAPUI5 é a mesma coisa que SAP Fiori?
Não. O SAP Fiori é o padrão de experiência do usuário definido pelas SAP Fiori Design Guidelines. O SAPUI5 é o framework JavaScript com o qual a maioria dos apps web SAP Fiori é construída. Um app SAPUI5 só é um app SAP Fiori se seguir essas diretrizes.
O SAP Fiori elements substitui o SAPUI5?
Não. O SAP Fiori elements é construído sobre o SAPUI5 e gera interfaces SAPUI5 a partir de anotações OData. Os desenvolvedores ainda precisam conhecer SAPUI5 para extensões, páginas customizadas e qualquer requisito que os floorplans não cubram.
Dá para escrever apps SAPUI5 em TypeScript?
Sim. O SAPUI5 suporta desenvolvimento em TypeScript, e o SAPUI5 SDK inclui tutoriais e definições de tipos para TypeScript. Controllers e controles customizados podem ser escritos em TypeScript e são transpilados para JavaScript no build.
Como descobrir qual versão do SAPUI5 um app usa?
Abra o app e pressione Ctrl+Alt+Shift+P para exibir o diálogo de informações técnicas, que lista a versão do SAPUI5 e as bibliotecas carregadas. Para apps no SAP BTP, a versão também é definida na configuração de bootstrap do app.
Fontes
- SAPUI5 SDK: SAPUI5 vs. OpenUI5
- SAPUI5 SDK: Versioning and maintenance of SAPUI5
- SAPUI5 version overview (maintenance status and front-end server mapping)
- SAPUI5 SDK: Developing apps with modern concepts — guidance for developers
- SAPUI5 version file: libraries delivered with the current SAPUI5 release
- Aplica-se a
- SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP S/4HANA Cloud Public Edition · SAP BTP
- Última revisão