Tecnologias de UI

OpenUI5

O OpenUI5 é a edição open source do framework JavaScript UI5 da SAP, publicada sob a licença Apache 2.0 e desenvolvida publicamente no GitHub. O OpenUI5 compartilha com o SAPUI5 o runtime central e as bibliotecas de controles mais usadas, como sap.m, mas deixa de fora bibliotecas exclusivas da SAP, como SAP Fiori elements, smart controls, gráficos e o shell do launchpad.

Resumo

Tipo
Framework JavaScript de UI open source (núcleo do UI5 e bibliotecas de controles comuns)
Camada
Aplicações de UI
Licença
Apache 2.0
Relação
Mesmo núcleo e mesmos nomes técnicos do SAPUI5; menos bibliotecas
Não inclui
SAP Fiori elements, smart controls, gráficos, shell do launchpad, exportação para planilha
Quem trabalha com ele
Desenvolvedores web, arquitetos de UI, criadores de ferramentas open source
Aplica-se a
SAP BTP e qualquer hospedagem web; os produtos SAP trazem o SAPUI5
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 →

Qual é a relação entre o OpenUI5 e o SAPUI5?

A SAP entrega o framework UI5 em duas distribuições. O OpenUI5 é a distribuição open source; o SAPUI5 é a integrada aos produtos SAP, como o SAP BTP e a plataforma ABAP. A principal diferença é a licença, não o modelo de programação.

Três fatos decorrem dessa origem comum:

  1. Mesmo núcleo. O runtime, o data binding, o roteamento e as bibliotecas de controles mais comuns, por exemplo sap.m, sap.ui.layout e sap.ui.unified, são idênticos nas duas distribuições.
  2. Mesmos nomes técnicos. Nomes de controles, nomes de bibliotecas e APIs coincidem, então o código escrito para o OpenUI5 continua funcionando quando o runtime é trocado para o SAPUI5.
  3. Versões alinhadas. As duas distribuições seguem a mesma linha de releases, embora a SAP observe que os números de versão podem diferir no nível de patch. O diálogo de informações técnicas (Ctrl+Alt+Shift+P) mostra qual versão o app realmente carregou.

O SAPUI5 é, portanto, um superconjunto: tudo o que há no OpenUI5 mais bibliotecas adicionais específicas da SAP. O OpenUI5 é o subconjunto open source do SAPUI5, não um framework separado.

Quais bibliotecas faltam no OpenUI5?

Uma comparação das listas de bibliotecas publicadas para a release 1.154 mostra que toda biblioteca do OpenUI5 também faz parte do SAPUI5, enquanto o SAPUI5 acrescenta várias dezenas de outras. As lacunas que mais pesam em projetos SAP:

ÁreaSó no SAPUI5Consequência para apps OpenUI5
SAP Fiori elementssap.fe.* (OData V4), sap.suite.ui.generic.template (OData V2), sap.ovpSem floorplans orientados a anotações
Smart controlssap.ui.compSem smart filter bar, smart table ou smart field
Gráficossap.viz, sap.chart, sap.suite.ui.microchartGráficos exigem outra biblioteca
Shell do launchpadsap.ushellSem runtime do SAP Fiori Launchpad
Utilitáriossap.ui.export, sap.ui.richtexteditor, sap.ganttSem exportação nativa para planilha, editor de rich text ou gráfico de Gantt

O OpenUI5 ainda contém um conjunto amplo: sap.m, sap.f, o object page layout em sap.uxap, sap.ui.table, os controles orientados a metadados em sap.ui.mdc, as bibliotecas de flexibilidade sap.ui.fl e sap.ui.rta, integration cards e a biblioteca do tema SAP Horizon. A lista muda entre releases, então verifique-a para a versão-alvo. O OpenUI5 cobre os blocos de construção de um app web completo, mas não as camadas da SAP que geram ou hospedam apps SAP Fiori.

Quando usar o OpenUI5?

Use este critério de decisão: se o app depende do runtime de um produto SAP ou de uma biblioteca exclusiva da SAP, use o SAPUI5; caso contrário, o OpenUI5 é uma escolha válida.

O OpenUI5 é adequado quando:

  • o app roda fora dos produtos SAP, por exemplo um portal web público ou uma ferramenta interna sobre um back-end não SAP;
  • o próprio projeto é open source, como uma ferramenta UI5, um exemplo ou uma biblioteca de controles customizados, e não pode depender de código licenciado pela SAP;
  • uma equipe está aprendendo UI5 e quer um runtime e uma documentação disponíveis gratuitamente.

O SAPUI5 é adequado quando:

  • o app roda no SAP Fiori Launchpad ou no SAP Build Work Zone, que carregam o runtime do SAPUI5 de qualquer forma;
  • o app usa SAP Fiori elements, smart controls ou gráficos da SAP;
  • o app é entregue na plataforma ABAP ou no SAP BTP, onde o SAPUI5 faz parte do produto.

Para a Alder Manufacturing, uma página de autocadastro de fornecedores para a Cedar Office Supply em um servidor web não SAP é candidata ao OpenUI5; um list report de pedidos de compra no launchpad não é. O OpenUI5 é a escolha certa quando a independência do licenciamento de produtos SAP pesa mais do que as bibliotecas específicas da SAP.

Onde termina o OpenUI5?

  • Sem floorplans gerados. Sem o SAP Fiori elements, list reports e object pages precisam ser construídos à mão com controles padrão, então o perfil de esforço é o do SAPUI5 freestyle, não o do desenvolvimento orientado a anotações.
  • Sem runtime de launchpad próprio. Apps que devem rodar no SAP Fiori Launchpad rodam no runtime SAPUI5 do launchpad, não no OpenUI5. Na prática, um app OpenUI5 que passa para um landscape SAP se torna um app SAPUI5.
  • A persistência da flexibilidade é externa. As bibliotecas de flexibilidade estão incluídas, mas armazenar alterações de key users e de usuários finais em produção exige um back-end: o layered repository de um sistema ABAP ou serviços do SAP BTP. Os conectores de armazenamento no navegador servem para testes.
  • Modelo de suporte. Bugs e pedidos de funcionalidade do OpenUI5 são registrados publicamente como issues no GitHub; se um contrato de suporte SAP cobre determinado uso do OpenUI5 depende dos termos desse contrato.

Esses limites decorrem da própria divisão: o OpenUI5 é o framework, enquanto o SAPUI5 acrescenta o que os próprios produtos da SAP precisam.

Quais são os erros comuns com o OpenUI5?

  1. Começar no OpenUI5 e descobrir uma dependência tarde demais. Um projeto que mais adiante precisa de smart controls, SAP Fiori elements ou exportação para planilha tem de migrar para o SAPUI5. Correção: liste as bibliotecas necessárias antes de escolher a distribuição.
  2. Igualar OpenUI5 a conformidade com o SAP Fiori. Os controles do OpenUI5 seguem o design SAP Fiori, mas layout, navegação e textos decidem se um app segue as SAP Fiori Design Guidelines. Correção: revise o app em relação às diretrizes, não apenas os controles.
  3. Misturar distribuições em um mesmo landscape. Fazer o bootstrap de alguns apps a partir da content delivery network do OpenUI5 e de outros a partir da do SAPUI5 dificulta comparações de versão e troubleshooting. Correção: use uma distribuição por app e documente-a.
  4. Ignorar diferenças no nível de patch. Os números de versão do OpenUI5 e do SAPUI5 podem divergir no nível de patch. Correção: verifique o diálogo de informações técnicas quando um bug aparece em uma distribuição e não na outra.

A maioria dos problemas com o OpenUI5 são decisões de escopo tomadas cedo demais, não defeitos do framework.

OpenUI5 vs. SAPUI5: qual é a diferença?

OpenUI5SAPUI5
LicençaApache 2.0, open sourceParte das licenças de produtos SAP
BibliotecasNúcleo, sap.m, sap.f, sap.uxap, sap.ui.table, sap.ui.mdc, flexibilidade, temasTudo o que há no OpenUI5 mais SAP Fiori elements, smart controls, gráficos, shell do launchpad e outras
Entregue comDownload público e content delivery networkSAP BTP, plataforma ABAP (componente SAP_UI), SAP S/4HANA
Uso típicoApps web fora dos produtos SAP, ferramentas open source, aprendizadoApps SAP Fiori no SAP S/4HANA, no SAP Fiori Launchpad e no SAP BTP

O OpenUI5 e o SAPUI5 compartilham um modelo de programação; o SAPUI5 acrescenta as bibliotecas específicas da SAP das quais dependem os apps SAP Fiori nos produtos SAP.

Perguntas frequentes

O OpenUI5 é gratuito para uso comercial?

Sim. O OpenUI5 é publicado sob a licença Apache 2.0, que permite uso comercial, modificação e distribuição nas condições da licença, como manter os arquivos de licença e de aviso. As equipes ainda devem fazer sua revisão usual de conformidade open source antes da entrega.

Dá para usar o SAP Fiori elements com o OpenUI5?

Não. As bibliotecas do SAP Fiori elements, para OData V4 e V2, são entregues apenas com o SAPUI5. Um app que precisa de list reports, object pages ou outros floorplans orientados a anotações deve rodar no SAPUI5, disponível pelo SAP BTP e pela plataforma ABAP.

Um app OpenUI5 roda no SAPUI5?

Em geral, sim. O OpenUI5 e o SAPUI5 usam os mesmos nomes técnicos e APIs, então um app OpenUI5 continua funcionando quando o runtime é trocado para o SAPUI5. A partir daí, o app também pode usar bibliotecas exclusivas do SAPUI5, desde que haja uma versão compatível do SAPUI5 disponível.

O OpenUI5 inclui o tema SAP Horizon?

Sim. A biblioteca do tema SAP Horizon faz parte da distribuição do OpenUI5, junto com a família de temas Quartz. Os apps OpenUI5 podem, portanto, ter a aparência dos apps SAP Fiori atuais, mesmo sem as bibliotecas exclusivas da SAP, como o SAP Fiori elements.

O OpenUI5 é a mesma coisa que os UI5 Web Components?

Não. O OpenUI5 é um framework de aplicação completo, com modelos, roteamento e controles. Os UI5 Web Components são um conjunto separado e independente de framework de web components padrão com o estilo SAP Fiori, destinado a apps construídos com outros frameworks ou com HTML puro.

Fontes

Aplica-se a
SAP BTP
Última revisão

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.