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 ▾
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:
- Mesmo núcleo. O runtime, o data binding, o roteamento e as bibliotecas de controles mais comuns, por exemplo
sap.m,sap.ui.layoutesap.ui.unified, são idênticos nas duas distribuições. - 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.
- 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:
| Área | Só no SAPUI5 | Consequência para apps OpenUI5 |
|---|---|---|
| SAP Fiori elements | sap.fe.* (OData V4), sap.suite.ui.generic.template (OData V2), sap.ovp | Sem floorplans orientados a anotações |
| Smart controls | sap.ui.comp | Sem smart filter bar, smart table ou smart field |
| Gráficos | sap.viz, sap.chart, sap.suite.ui.microchart | Gráficos exigem outra biblioteca |
| Shell do launchpad | sap.ushell | Sem runtime do SAP Fiori Launchpad |
| Utilitários | sap.ui.export, sap.ui.richtexteditor, sap.gantt | Sem 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?
- 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.
- 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.
- 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.
- 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?
| OpenUI5 | SAPUI5 | |
|---|---|---|
| Licença | Apache 2.0, open source | Parte das licenças de produtos SAP |
| Bibliotecas | Núcleo, sap.m, sap.f, sap.uxap, sap.ui.table, sap.ui.mdc, flexibilidade, temas | Tudo o que há no OpenUI5 mais SAP Fiori elements, smart controls, gráficos, shell do launchpad e outras |
| Entregue com | Download público e content delivery network | SAP BTP, plataforma ABAP (componente SAP_UI), SAP S/4HANA |
| Uso típico | Apps web fora dos produtos SAP, ferramentas open source, aprendizado | Apps 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
- SAPUI5 SDK: SAPUI5 vs. OpenUI5
- SAPUI5 version information (library list of the current SAPUI5 release)
- SAPUI5 SDK: Deprecated themes and libraries
- SAPUI5 SDK: Bootstrapping SAPUI5 Flexibility (connectors)
- Aplica-se a
- SAP BTP
- Última revisão