Tecnologías de UI

OpenUI5

OpenUI5 es la edición open source del framework JavaScript UI5 de SAP, publicada bajo la licencia Apache 2.0 y desarrollada públicamente en GitHub. OpenUI5 comparte con SAPUI5 el runtime central y las bibliotecas de controles más utilizadas, como sap.m, pero deja fuera las bibliotecas exclusivas de SAP, como SAP Fiori elements, los smart controls, los gráficos y el shell del launchpad.

Datos clave

Tipo
Framework de UI JavaScript open source (núcleo de UI5 y bibliotecas de controles comunes)
Capa
Aplicaciones de UI
Licencia
Apache 2.0
Relación
Mismo núcleo y mismos nombres técnicos que SAPUI5; menos bibliotecas
No incluye
SAP Fiori elements, smart controls, gráficos, shell del launchpad, exportación a hoja de cálculo
Quién trabaja con ello
Desarrolladores web, arquitectos de UI, creadores de herramientas open source
Se aplica a
SAP BTP y cualquier alojamiento web; los productos SAP incluyen SAPUI5 en su lugar
Capa: Aplicaciones de UIDónde se ubica ▾
Dónde se ubica: L3 · Aplicaciones de UICapa: Aplicaciones de UI.L1L2L3L4L5L6BTP

Capa: Aplicaciones de UI

Abrir el mapa de arquitectura →

¿Qué relación tiene OpenUI5 con SAPUI5?

SAP distribuye el framework UI5 en dos entregas. OpenUI5 es la open source; SAPUI5 es la que está integrada en productos SAP como SAP BTP y la plataforma ABAP. La diferencia principal es la licencia, no el modelo de programación.

De ese origen común se derivan tres hechos:

  1. Mismo núcleo. El runtime, el data binding, el enrutamiento y las bibliotecas de controles más comunes, por ejemplo sap.m, sap.ui.layout y sap.ui.unified, son idénticos en ambas entregas.
  2. Mismos nombres técnicos. Los nombres de controles, los nombres de bibliotecas y las API coinciden, de modo que el código escrito para OpenUI5 sigue funcionando cuando el runtime se cambia a SAPUI5.
  3. Versiones alineadas. Ambas entregas siguen la misma línea de releases, aunque SAP advierte que los números de versión pueden diferir a nivel de parche. El diálogo de información técnica (Ctrl+Alt+Shift+P) muestra qué versión cargó realmente una aplicación.

SAPUI5 es, por tanto, un superconjunto: todo lo que contiene OpenUI5 más bibliotecas adicionales específicas de SAP. OpenUI5 es el subconjunto open source de SAPUI5, no un framework distinto.

¿Qué bibliotecas le faltan a OpenUI5?

Una comparación de las listas de bibliotecas publicadas para la release 1.154 muestra que todas las bibliotecas de OpenUI5 forman parte también de SAPUI5, mientras que SAPUI5 añade varias decenas más. Las carencias que más pesan en los proyectos SAP:

ÁreaSolo en SAPUI5Consecuencia para las aplicaciones OpenUI5
SAP Fiori elementssap.fe.* (OData V4), sap.suite.ui.generic.template (OData V2), sap.ovpSin floorplans basados en anotaciones
Smart controlssap.ui.compSin smart filter bar, smart table ni smart field
Gráficossap.viz, sap.chart, sap.suite.ui.microchartLos gráficos requieren otra biblioteca
Shell del launchpadsap.ushellSin runtime del SAP Fiori Launchpad
Utilidadessap.ui.export, sap.ui.richtexteditor, sap.ganttSin exportación integrada a hoja de cálculo, editor de texto enriquecido ni diagrama de Gantt

OpenUI5 sigue conteniendo un conjunto amplio: sap.m, sap.f, el object page layout de sap.uxap, sap.ui.table, los controles basados en metadatos de sap.ui.mdc, las bibliotecas de flexibilidad sap.ui.fl y sap.ui.rta, las integration cards y la biblioteca del tema SAP Horizon. La lista cambia entre releases, así que compruébela para la versión que utilice. OpenUI5 cubre los componentes básicos de una aplicación web completa, pero no las capas de SAP que generan o alojan aplicaciones SAP Fiori.

¿Cuándo conviene utilizar OpenUI5?

Aplique este criterio de decisión: si la aplicación depende del runtime de un producto SAP o de una biblioteca exclusiva de SAP, utilice SAPUI5; en caso contrario, OpenUI5 es una opción válida.

OpenUI5 encaja cuando:

  • la aplicación se ejecuta fuera de los productos SAP, por ejemplo un portal web público o una herramienta interna sobre un back-end que no es de SAP;
  • el proyecto es en sí mismo open source, como una herramienta UI5, un ejemplo o una biblioteca de controles personalizados, y no debe depender de código con licencia de SAP;
  • un equipo está aprendiendo UI5 y quiere un runtime y una documentación de libre acceso.

SAPUI5 encaja cuando:

  • la aplicación se ejecuta en el SAP Fiori Launchpad o en SAP Build Work Zone, que de todos modos cargan el runtime de SAPUI5;
  • la aplicación utiliza SAP Fiori elements, smart controls o los gráficos de SAP;
  • la aplicación se entrega en la plataforma ABAP o en SAP BTP, donde SAPUI5 forma parte del producto.

Para Alder Manufacturing, una página de autorregistro de proveedores para Cedar Office Supply en un servidor web que no es de SAP es candidata a OpenUI5; un list report de pedidos de compra en el launchpad no lo es. OpenUI5 es la opción adecuada cuando la independencia respecto de las licencias de productos SAP importa más que las bibliotecas específicas de SAP.

¿Dónde están los límites de OpenUI5?

  • Sin floorplans generados. Sin SAP Fiori elements, los list reports y object pages deben construirse a mano con controles estándar, por lo que el perfil de esfuerzo corresponde al de SAPUI5 freestyle, no al desarrollo basado en anotaciones.
  • Sin runtime de launchpad propio. Las aplicaciones que deben ejecutarse en el SAP Fiori Launchpad lo hacen sobre el runtime SAPUI5 del launchpad, no sobre OpenUI5. En la práctica, una aplicación OpenUI5 que pasa a un entorno SAP se convierte en una aplicación SAPUI5.
  • La persistencia de la flexibilidad es externa. Las bibliotecas de flexibilidad están incluidas, pero almacenar de forma productiva los cambios de key users y usuarios finales requiere un back-end: el repositorio por capas de un sistema ABAP o servicios de SAP BTP. Los conectores de almacenamiento en el navegador están pensados para pruebas.
  • Modelo de soporte. Los errores y las solicitudes de funciones de OpenUI5 se plantean públicamente como issues de GitHub; que un contrato de soporte de SAP cubra un uso concreto de OpenUI5 depende de sus condiciones.

Estos límites se derivan de la propia división: OpenUI5 es el framework, mientras que SAPUI5 añade encima lo que necesitan los propios productos de SAP.

¿Cuáles son los errores comunes con OpenUI5?

  1. Empezar con OpenUI5 y descubrir tarde una dependencia. Un proyecto que más adelante necesita smart controls, SAP Fiori elements o exportación a hoja de cálculo tiene que pasar a SAPUI5. Solución: enumere las bibliotecas necesarias antes de elegir la entrega.
  2. Equiparar OpenUI5 con el cumplimiento de SAP Fiori. Los controles de OpenUI5 siguen el diseño SAP Fiori, pero son el layout, la navegación y la redacción los que determinan si una aplicación sigue las SAP Fiori Design Guidelines. Solución: revise la aplicación con respecto a las directrices, no solo los controles.
  3. Mezclar entregas en un mismo entorno. Cargar algunas aplicaciones desde la red de distribución de contenidos de OpenUI5 y otras desde la de SAPUI5 dificulta la comparación de versiones y el diagnóstico de problemas. Solución: utilice una sola entrega por aplicación y documéntela.
  4. Ignorar las diferencias a nivel de parche. Los números de versión de OpenUI5 y SAPUI5 pueden divergir a nivel de parche. Solución: consulte el diálogo de información técnica cuando un error aparezca en una entrega pero no en la otra.

La mayoría de los problemas con OpenUI5 son decisiones de alcance tomadas demasiado pronto, no defectos del framework.

¿OpenUI5 frente a SAPUI5: cuál es la diferencia?

OpenUI5SAPUI5
LicenciaApache 2.0, open sourceParte de las licencias de productos SAP
BibliotecasNúcleo, sap.m, sap.f, sap.uxap, sap.ui.table, sap.ui.mdc, flexibilidad, temasTodo lo de OpenUI5 más SAP Fiori elements, smart controls, gráficos, shell del launchpad y más
Se entrega conDescarga pública y red de distribución de contenidosSAP BTP, plataforma ABAP (componente SAP_UI), SAP S/4HANA
Uso típicoAplicaciones web fuera de los productos SAP, herramientas open source, aprendizajeAplicaciones SAP Fiori en SAP S/4HANA, SAP Fiori Launchpad y SAP BTP

OpenUI5 y SAPUI5 comparten un mismo modelo de programación; SAPUI5 añade las bibliotecas específicas de SAP de las que dependen las aplicaciones SAP Fiori en los productos SAP.

Preguntas frecuentes

¿OpenUI5 es gratuito para uso comercial?

Sí. OpenUI5 se publica bajo la licencia Apache 2.0, que permite el uso comercial, la modificación y la distribución en las condiciones de la licencia, como conservar los archivos de licencia y de aviso. Aun así, los equipos deberían realizar su revisión habitual de cumplimiento open source antes de la entrega.

¿Se puede utilizar SAP Fiori elements con OpenUI5?

No. Las bibliotecas de SAP Fiori elements, para OData V4 y V2, solo se entregan con SAPUI5. Una aplicación que necesita list reports, object pages u otros floorplans basados en anotaciones debe ejecutarse sobre SAPUI5, que está disponible a través de SAP BTP y la plataforma ABAP.

¿Una aplicación OpenUI5 funciona sobre SAPUI5?

En general, sí. OpenUI5 y SAPUI5 utilizan los mismos nombres técnicos y las mismas API, de modo que una aplicación OpenUI5 sigue funcionando cuando el runtime se cambia a SAPUI5. A partir de ahí, la aplicación también puede utilizar bibliotecas exclusivas de SAPUI5, siempre que haya disponible una versión de SAPUI5 adecuada.

¿OpenUI5 incluye el tema SAP Horizon?

Sí. La biblioteca del tema SAP Horizon forma parte de la entrega de OpenUI5, junto con la familia de temas Quartz. Por tanto, las aplicaciones OpenUI5 pueden tener el aspecto de las aplicaciones SAP Fiori actuales, aunque carezcan de bibliotecas exclusivas de SAP como SAP Fiori elements.

¿OpenUI5 es lo mismo que UI5 Web Components?

No. OpenUI5 es un framework de aplicaciones completo, con modelos, enrutamiento y controles. Los UI5 Web Components son un conjunto aparte, independiente de cualquier framework, de web components estándar con estilo SAP Fiori, pensado para aplicaciones creadas con otros frameworks o con HTML puro.

Fuentes

Se aplica a
SAP BTP
Última revisión

SAP, SAP Fiori, SAPUI5, SAP S/4HANA, SAP BTP y los demás productos y servicios de SAP mencionados son marcas comerciales o marcas registradas de SAP SE (o de una empresa afiliada de SAP) en Alemania y otros países. Esta guía es independiente y no está afiliada, patrocinada ni respaldada por SAP SE.