SAPUI5
SAPUI5 es el framework de UI JavaScript empresarial de SAP para crear aplicaciones SAP Fiori que se ejecutan en el navegador, con una estructura modelo-vista-controlador y data binding a servicios OData. SAPUI5 es la distribución con licencia de SAP del mismo núcleo que el OpenUI5 open source, más bibliotecas adicionales, como gráficos y smart controls basados en anotaciones, que solo se entregan con productos SAP.
Datos clave
- Tipo
- Framework de UI JavaScript (MVC, data binding, bibliotecas de controles)
- Capa
- Aplicaciones de UI
- Se entrega con
- SAP BTP (red de distribución de contenidos), plataforma ABAP / SAP Fiori front-end server, SAP S/4HANA Cloud
- Núcleo open source
- OpenUI5 (licencia Apache 2.0)
- Ritmo de releases
- Versiones menores mensuales en SAP BTP; versiones de mantenimiento a largo plazo para front-end servers on-premise
- Quién trabaja con ello
- Desarrolladores SAP Fiori, arquitectos de UI, equipos de Basis que planifican actualizaciones
- Se aplica a
- SAP S/4HANA (todas las opciones de implementación), SAP BTP
Capa: Aplicaciones de UIDónde se ubica ▾
Capa: Aplicaciones de UI
Abrir el mapa de arquitectura →¿Cómo funciona SAPUI5?
Una aplicación SAPUI5 es un conjunto de archivos que el navegador carga y ejecuta. Sus componentes principales son:
- Component: el punto de entrada de la aplicación, que instancia el SAP Fiori Launchpad u otro contenedor.
- App descriptor (manifest.json): declara las fuentes de datos, los modelos, el enrutamiento, las dependencias y los inbounds de navegación.
- Vistas: normalmente en XML, declaran qué controles aparecen en pantalla, en su mayoría de bibliotecas como
sap.m. - Controladores: código JavaScript o TypeScript que reacciona a los eventos del usuario.
- Modelos: modelos OData V2 o V4 para los datos del back-end, modelos JSON para el estado local y modelos de recursos para los textos traducidos.
El data binding conecta los controles con las propiedades del modelo, de modo que un campo se actualiza cuando cambian los datos sin necesidad de código de conexión escrito a mano. Temas como SAP Horizon dan un estilo coherente a todos los controles. Por tanto, SAPUI5 es un framework de aplicaciones, no solo una biblioteca de widgets: establece cómo se estructura, se carga y se conecta a los datos una aplicación.
¿Qué lugar ocupa SAPUI5 en la arquitectura de SAP Fiori?
SAPUI5 se ejecuta en la capa de aplicaciones de UI, dentro del navegador del usuario. Por encima, el SAP Fiori Launchpad o SAP Build Work Zone proporcionan el shell, la navegación y los roles. Por debajo, los servicios OData construidos con el ABAP RESTful application programming model, SAP Gateway u otros back-ends entregan los datos y aplican las reglas de negocio.
Los dos enfoques de desarrollo principales producen aplicaciones SAPUI5. SAP Fiori elements genera la UI en runtime a partir de anotaciones OData, utilizando por debajo controles SAPUI5. Una aplicación SAPUI5 freestyle se escribe a mano con los mismos controles. Las SAP Fiori Design Guidelines describen la experiencia de usuario buscada; SAPUI5 es una de las tecnologías que la implementan en código. SAPUI5 es el runtime común que subyace tanto a las aplicaciones SAP Fiori elements como a las aplicaciones freestyle, sea cual sea la forma en que se haya construido la aplicación.
¿En qué se diferencia SAPUI5 de OpenUI5?
La diferencia principal es la licencia. OpenUI5 es open source bajo la licencia Apache 2.0 y se desarrolla públicamente en GitHub. SAPUI5 se entrega como parte de productos SAP como SAP BTP y la plataforma ABAP.
El runtime central y las bibliotecas de controles más utilizadas, por ejemplo sap.m, sap.ui.layout y sap.ui.unified, son idénticos en ambos. SAPUI5 añade más bibliotecas: gráficos (sap.viz, sap.chart, sap.suite.ui.microchart), smart controls que se configuran a partir de anotaciones OData (sap.ui.comp), SAP Fiori elements (sap.fe) y el shell del launchpad (sap.ushell). La lista cambia en cada release; en SAPUI5 1.154, ninguna biblioteca se entrega solo con OpenUI5. Los nombres técnicos y las API son compartidos, de modo que el código escrito para OpenUI5 se ejecuta en SAPUI5 cuando se cambia el runtime. Los números de versión pueden diferir a nivel de parche, porque la distribución de SAPUI5 incorpora un núcleo de OpenUI5.
Para los equipos que desarrollan sobre productos SAP, SAPUI5 es la distribución pertinente; OpenUI5 es relevante para las herramientas open source y para las aplicaciones que deben ejecutarse sin licencia de SAP.
¿Qué versión de SAPUI5 ejecuta su sistema?
La respuesta depende de la opción de implementación:
- SAP BTP: SAP describe SAP BTP como el canal principal de SAPUI5. En la red de distribución de contenidos hay varias versiones disponibles, y cada aplicación elige su versión al arrancar. Aproximadamente cada mes aparecen nuevas versiones menores, y las versiones se retiran de la red como máximo un año después de su publicación; consulte la descripción general de versiones para conocer el estado de las versiones de mantenimiento a largo plazo.
- On-premise y Private Edition: SAPUI5 se entrega con el componente de tecnología de UI de la plataforma ABAP. Cada release de SAP Fiori front-end server incluye una versión de mantenimiento a largo plazo; por ejemplo, el front-end server 2023 corresponde a SAPUI5 1.120 y el front-end server 2025 a SAPUI5 1.136.
- SAP S/4HANA Cloud Public Edition: SAPUI5 viene con el producto, y su mantenimiento sigue la documentación del producto y no la estrategia de SAP BTP.
Criterio de decisión: desarrolle y pruebe con la versión de SAPUI5 más baja entre los sistemas en los que se ejecutará la aplicación. El diálogo de información técnica (Ctrl+Alt+Shift+P) muestra la versión realmente cargada. Conocer la versión de SAPUI5 es el primer paso en cualquier cuestión de compatibilidad.
¿Cuáles son los errores comunes con SAPUI5?
- Desarrollar con una versión más reciente que la de producción. Una función disponible en SAP BTP puede no existir en el front-end server on-premise. Consulte la descripción general de versiones antes de usar un control o una API nuevos.
- Depender de API obsoletas. La carga síncrona y otros patrones heredados siguen funcionando, pero están obsoletos; la guía de modernización de SAP enumera sus sustitutos, y el UI5 linter los detecta.
- Fijar la versión de las aplicaciones SAP BTP y olvidarse de ellas. Una aplicación vinculada a una versión que sale de la red de distribución de contenidos deja de cargarse. Planifique las actualizaciones de versión como cualquier otra tarea de mantenimiento.
- Escribir los textos directamente en el código. Las etiquetas deben ir en modelos de recursos; de lo contrario, la traducción se convierte en un cambio de código.
- Desarrollarlo todo en freestyle por costumbre. La propia guía de SAP recomienda SAP Fiori elements siempre que encaje un floorplan, y código freestyle cuando no encaje.
La mayoría de los problemas con SAPUI5 son problemas de ciclo de vida (versiones, obsolescencias y responsabilidades) más que problemas de código.
¿SAPUI5, SAP Fiori Design Guidelines o UI5 Web Components: cuál es la diferencia?
| SAPUI5 | SAP Fiori Design Guidelines | UI5 Web Components | |
|---|---|---|---|
| Qué es | Framework de aplicaciones con controles, modelos y enrutamiento | Documentación de sistema de diseño: principios, floorplans, patrones | Web components independientes de cualquier framework con estilo SAP Fiori |
| Pregunta que responde | ¿Cómo se construye y ejecuta la aplicación? | ¿Cómo debe verse y comportarse la aplicación? | ¿Cómo uso controles SAP Fiori en otro framework web? |
| Quién lo usa | Desarrolladores SAP Fiori | Diseñadores de UX, product owners, desarrolladores | Desarrolladores web que utilizan HTML estándar u otros frameworks JavaScript |
| Uso típico | Aplicaciones freestyle y SAP Fiori elements en SAP S/4HANA y SAP BTP | Revisiones de diseño y especificaciones de aplicaciones | Aplicaciones web fuera del modelo de programación de SAPUI5 que deben tener el aspecto de SAP Fiori |
SAPUI5 implementa la experiencia que describen las SAP Fiori Design Guidelines, mientras que los UI5 Web Components ofrecen el mismo lenguaje visual sin el framework de aplicaciones de SAPUI5.
Preguntas frecuentes
¿SAPUI5 es de uso gratuito?
SAPUI5 se licencia como parte de productos SAP como SAP BTP y la plataforma ABAP, por lo que su uso está cubierto por esas licencias. OpenUI5, que comparte el mismo núcleo y las bibliotecas de controles más comunes, es gratuito y open source bajo la licencia Apache 2.0.
¿SAPUI5 es lo mismo que SAP Fiori?
No. SAP Fiori es el estándar de experiencia de usuario definido por las SAP Fiori Design Guidelines. SAPUI5 es el framework JavaScript con el que se crean la mayoría de las aplicaciones web SAP Fiori. Una aplicación SAPUI5 solo es una aplicación SAP Fiori si sigue esas directrices.
¿SAP Fiori elements sustituye a SAPUI5?
No. SAP Fiori elements está construido sobre SAPUI5 y genera interfaces de usuario SAPUI5 a partir de anotaciones OData. Los desarrolladores siguen necesitando conocimientos de SAPUI5 para las extensiones, las páginas personalizadas y cualquier requisito que los floorplans no cubran.
¿Se pueden escribir aplicaciones SAPUI5 en TypeScript?
Sí. SAPUI5 admite el desarrollo en TypeScript, y el SAPUI5 SDK incluye tutoriales y definiciones de tipos de TypeScript. Los controladores y los controles personalizados pueden escribirse en TypeScript y se transpilan a JavaScript en tiempo de compilación.
¿Cómo averiguo qué versión de SAPUI5 utiliza una aplicación?
Abra la aplicación y pulse Ctrl+Alt+Shift+P para mostrar el diálogo de información técnica, que indica la versión de SAPUI5 y las bibliotecas cargadas. En las aplicaciones SAP BTP, la versión también se fija en la configuración de arranque (bootstrap) de la aplicación.
Fuentes
- 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
- Se aplica a
- SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP S/4HANA Cloud Public Edition · SAP BTP
- Última revisión