Tecnologias de UI

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 ▾
Onde se encaixa: L3 · Aplicações de UICamada: Aplicações de UI.L1L2L3L4L5L6BTP

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:

  1. Component — o ponto de entrada do app, que o SAP Fiori Launchpad ou outro contêiner instancia.
  2. App descriptor (manifest.json) — declara fontes de dados, modelos, roteamento, dependências e inbounds de navegação.
  3. Views — geralmente em XML, declaram quais controles aparecem na tela, em sua maioria de bibliotecas como sap.m.
  4. Controllers — código JavaScript ou TypeScript que reage a eventos do usuário.
  5. 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?

  1. 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.
  2. 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.
  3. 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.
  4. Textos fixos no código. Rótulos pertencem aos resource models; caso contrário, a tradução vira uma alteração de código.
  5. 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?

SAPUI5SAP Fiori Design GuidelinesUI5 Web Components
O que éFramework de aplicação com controles, modelos e roteamentoDocumentação do design system: princípios, floorplans, padrõesWeb components independentes de framework com o estilo SAP Fiori
Pergunta que respondeComo o app é construído e executado?Como o app deve parecer e se comportar?Como usar controles SAP Fiori em outro framework web?
Quem usaDesenvolvedores SAP FioriDesigners de UX, product owners, desenvolvedoresDesenvolvedores web que usam HTML padrão ou outros frameworks JavaScript
Uso típicoApps freestyle e SAP Fiori elements no SAP S/4HANA e no SAP BTPRevisões de design e especificações de appsApps 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

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

Para se aprofundar

SAP, SAP Fiori, SAPUI5, SAP S/4HANA, SAP BTP e os demais produtos e serviços SAP mencionados são marcas comerciais ou marcas registradas da SAP SE (ou de uma empresa afiliada da SAP) na Alemanha e em outros países. Este guia é independente e não é afiliado, patrocinado nem endossado pela SAP SE.