Skip to content

Instantly share code, notes, and snippets.

@manuelbordallo
Created November 19, 2025 09:55
Show Gist options
  • Select an option

  • Save manuelbordallo/43ba1df10f902f1153bdadda76cd373f to your computer and use it in GitHub Desktop.

Select an option

Save manuelbordallo/43ba1df10f902f1153bdadda76cd373f to your computer and use it in GitHub Desktop.
SAPUI5 para principiantes

Guía Profesional: SAPUI5 para Principiantes

Índice

  1. SAPUI5 para principiantes – ¿Qué es y cómo empezar?

  2. Estructura básica de una app SAPUI5

  3. MVC en SAPUI5 explicado fácil

  4. Data Binding – Conectando datos en SAPUI5

  5. Controles UI más usados

  6. Manejo de eventos en SAPUI5

  7. Internacionalización (i18n)

  8. Consumo de servicios OData

  9. Navegación entre vistas

  10. Buenas prácticas y optimización


Artículo 1: SAPUI5 para principiantes – ¿Qué es y cómo empezar?

Parte Teórica

SAPUI5 es un framework desarrollado por SAP para crear aplicaciones web empresariales con una experiencia de usuario moderna y consistente. Basado en JavaScript, HTML5 y CSS, SAPUI5 permite construir interfaces responsivas que se adaptan a diferentes dispositivos, incluyendo computadoras, tablets y smartphones. Una de sus principales ventajas es que sigue las directrices de diseño SAP Fiori, lo que garantiza una experiencia uniforme en todas las aplicaciones SAP.

SAPUI5 ofrece una arquitectura robusta basada en el patrón MVC (Modelo-Vista-Controlador), que separa la lógica de negocio, la interfaz y los datos, facilitando el mantenimiento y la escalabilidad. Además, soporta data binding, internacionalización (i18n) y consumo de servicios OData, lo que lo convierte en una herramienta poderosa para integrarse con sistemas SAP.

Otra característica destacada es su librería de controles UI, que incluye botones, tablas, formularios y componentes complejos listos para usar. Estos controles son altamente configurables y permiten crear interfaces profesionales sin necesidad de desarrollar componentes desde cero. SAPUI5 también ofrece herramientas para optimización del rendimiento, como carga diferida (lazy loading) y minificación de recursos.

Para comenzar a trabajar con SAPUI5, no es necesario contar con un sistema SAP completo, ya que se puede usar OpenUI5, su versión open source, ideal para aprender y practicar. Con conocimientos básicos de HTML, CSS y JavaScript, cualquier desarrollador puede dar sus primeros pasos en SAPUI5 y crear aplicaciones empresariales modernas que se integren perfectamente en SAP Business Technology Platform (BTP).

Ejercicio Práctico

Crea un archivo index.html con el siguiente código:

<!DOCTYPE  html>

<html>

<head>

<meta  charset='UTF-8'>

<title>Mi primera app SAPUI5</title>

<script  id='sap-ui-bootstrap'  src='https://sdk.openui5.org/resources/sap-ui-core.js'  data-sap-ui-theme='sap_fiori_3'  data-sap-ui-libs='sap.m'></script>

</head>

<body  class='sapUiBody'  id='content'>

<script>

new sap.m.Text({text: '¡Hola SAPUI5!'}).placeAt('content');

</script>

</body>

</html>

Conclusión

Con este ejercicio, has creado tu primera aplicación SAPUI5 mostrando un texto con estilo Fiori.


Artículo 2: Estructura básica de una app SAPUI5

Parte Teórica

Una aplicación SAPUI5 se organiza siguiendo una estructura clara que facilita el desarrollo y mantenimiento. El punto de entrada suele ser el archivo index.html, que carga el framework y define el bootstrap. A partir de ahí, la aplicación se compone de vistas, controladores y modelos, siguiendo el patrón MVC.

Las vistas se definen normalmente en XML, lo que permite una separación limpia entre la lógica y la presentación. Los controladores, escritos en JavaScript, contienen la lógica de negocio y manejan los eventos de la interfaz. Los modelos pueden ser JSON, OData u otros, y se utilizan para gestionar los datos que se muestran en la aplicación.

El archivo Component.js es clave en aplicaciones SAPUI5, ya que inicializa la aplicación y define la configuración principal. Además, el archivo manifest.json contiene metadatos importantes, como rutas, recursos y configuraciones de internacionalización. Esta estructura modular permite que las aplicaciones sean escalables y fáciles de mantener.

Comprender esta arquitectura es esencial para desarrollar aplicaciones SAPUI5 robustas y alineadas con las buenas prácticas de SAP. Una vez dominada la estructura, el desarrollador puede aprovechar al máximo las capacidades del framework, integrando servicios, optimizando el rendimiento y creando interfaces modernas y responsivas.

Ejercicio Práctico

Crea index.html con bootstrap SAPUI5 y añade view/Main.view.xml:

<mvc:View  xmlns:mvc='sap.ui.core.mvc'  xmlns='sap.m'  controllerName='controller.Main'>

<App><pages><Page  title='Demo'><content><Text  text='¡Hola desde la vista!'/></content></Page></pages></App>

</mvc:View>

Crea controller/Main.controller.js:

sap.ui.define(['sap/ui/core/mvc/Controller'], function(Controller){

return Controller.extend('controller.Main', {});

});

Conclusión

Este ejercicio muestra cómo estructurar una aplicación SAPUI5 con MVC.


Artículo 3: MVC en SAPUI5 explicado fácil

Parte Teórica

El patrón MVC (Modelo-Vista-Controlador) es uno de los pilares fundamentales en SAPUI5. Este patrón permite separar la lógica de negocio, la interfaz de usuario y los datos, lo que facilita la escalabilidad y el mantenimiento de las aplicaciones. En SAPUI5, las vistas se definen generalmente en XML, proporcionando una estructura clara y declarativa para la interfaz. Los controladores, escritos en JavaScript, manejan la lógica y los eventos, mientras que los modelos gestionan los datos y se integran mediante data binding.

El uso de MVC en SAPUI5 no solo mejora la organización del código, sino que también permite reutilizar componentes y vistas en diferentes partes de la aplicación. Además, SAPUI5 soporta múltiples tipos de modelos, como JSON, OData y ResourceModel, lo que brinda flexibilidad para trabajar con datos locales o remotos.

Comprender MVC es esencial para cualquier desarrollador SAPUI5, ya que es la base para implementar aplicaciones complejas con una arquitectura sólida. Al dominar este patrón, se pueden crear aplicaciones más eficientes, fáciles de mantener y alineadas con las mejores prácticas de SAP.

Ejercicio Práctico

Agrega un modelo JSON:

var oModel = new sap.ui.model.json.JSONModel({mensaje: '¡Hola MVC!'});

sap.ui.getCore().setModel(oModel);

En la vista:

<Text  text='{mensaje}'/>

Conclusión

Este ejercicio muestra cómo implementar MVC y data binding en SAPUI5.


Artículo 4: Data Binding – Conectando datos en SAPUI5

Parte Teórica

El data binding es una característica clave en SAPUI5 que permite conectar la interfaz de usuario con los datos del modelo de manera automática. Esto significa que cualquier cambio en el modelo se refleja en la vista y viceversa, sin necesidad de escribir código adicional para actualizar la interfaz. SAPUI5 soporta diferentes modos de binding: unidireccional, bidireccional y binding complejo.

El binding se define en la vista mediante expresiones como {path} y se configura en el controlador al asignar modelos. Esta funcionalidad es especialmente útil cuando se trabaja con formularios, listas y tablas, ya que simplifica la sincronización de datos.

Además, SAPUI5 permite el uso de formatters para transformar los datos antes de mostrarlos, lo que añade flexibilidad al desarrollo. Comprender el data binding es esencial para crear aplicaciones dinámicas y responsivas que se adapten a las necesidades del usuario.

Ejercicio Práctico

Modelo:

var oModel = new sap.ui.model.json.JSONModel({nombre: 'Manuel'});

sap.ui.getCore().setModel(oModel);

Vista:

<Input  value='{nombre}'/>

Conclusión

Este ejercicio muestra cómo usar binding bidireccional en SAPUI5.


Artículo 5: Controles UI más usados

Parte Teórica

SAPUI5 ofrece una amplia gama de controles de interfaz de usuario que permiten crear aplicaciones modernas y funcionales. Entre los más utilizados se encuentran Button, Input, Table, Dialog y List. Estos controles son altamente configurables y siguen las directrices de diseño SAP Fiori, garantizando una experiencia de usuario consistente.

Cada control incluye propiedades, eventos y métodos que permiten personalizar su comportamiento. Por ejemplo, un Button puede tener texto, icono y eventos como press, mientras que una Table permite mostrar datos en formato tabular con opciones de filtrado y ordenación.

El uso adecuado de estos controles es fundamental para crear interfaces intuitivas y atractivas. SAPUI5 también permite extender controles existentes o crear nuevos, ofreciendo flexibilidad para adaptarse a requerimientos específicos.

Ejercicio Práctico

Vista:

<Button  text='Presióname'  press='onPress'/>

Controlador:

onPress: function(){ sap.m.MessageToast.show('¡Botón presionado!'); }

Conclusión

Este ejercicio muestra cómo manejar eventos en controles SAPUI5.


Artículo 6: Manejo de eventos en SAPUI5

Parte Teórica

Los eventos son esenciales para la interacción entre el usuario y la aplicación. En SAPUI5, los eventos se definen en la vista y se manejan en el controlador. Cada evento puede proporcionar parámetros que contienen información relevante, como el valor ingresado en un campo o el elemento seleccionado en una lista.

SAPUI5 ofrece una amplia gama de eventos para sus controles, como press, change, liveChange y muchos más. Comprender cómo funcionan los eventos y cómo capturar sus parámetros es clave para desarrollar aplicaciones interactivas y dinámicas.

Ejercicio Práctico

Vista:

<Input  placeholder='Escribe algo'  liveChange='onChange'/>

Controlador:

onChange: function(oEvent){ sap.m.MessageToast.show(oEvent.getParameter('value')); }

Conclusión

Este ejercicio muestra cómo capturar eventos y parámetros en SAPUI5.


Artículo 7: Internacionalización (i18n)

Parte Teórica

La internacionalización (i18n) en SAPUI5 permite que las aplicaciones soporten múltiples idiomas sin necesidad de modificar el código fuente. Esto se logra mediante archivos .properties que contienen las traducciones de los textos utilizados en la interfaz.

SAPUI5 carga automáticamente el archivo correspondiente al idioma configurado en el navegador del usuario. Esta funcionalidad es esencial para aplicaciones globales que deben adaptarse a diferentes regiones y culturas. Implementar i18n desde el inicio del proyecto garantiza una experiencia de usuario consistente y facilita la expansión internacional.

Ejercicio Práctico

Archivo i18n.properties:


saludo=¡Hola Mundo!

Vista:

<Text  text='{i18n>saludo}'/>

Conclusión

Este ejercicio muestra cómo implementar i18n en SAPUI5.


Artículo 8: Consumo de servicios OData

Parte Teórica

SAPUI5 se integra de forma nativa con servicios OData, lo que permite consumir datos directamente desde sistemas SAP. Para ello, se utiliza el ODataModel, que facilita la conexión y el binding de datos en la vista.

Esta integración es fundamental para aplicaciones empresariales que requieren mostrar información en tiempo real desde SAP ERP o S/4HANA. Comprender cómo configurar y utilizar OData en SAPUI5 es clave para desarrollar aplicaciones conectadas y eficientes.

Ejercicio Práctico

Modelo:

var oModel = new sap.ui.model.odata.v2.ODataModel('/sap/opu/odata/sap/ZDEMO_SRV/');

sap.ui.getCore().setModel(oModel);

Vista:

<Text  text='{Products(1)/Name}'/>

Conclusión

Este ejercicio muestra cómo consumir datos OData en SAPUI5.


Artículo 9: Navegación entre vistas

Parte Teórica

La navegación entre vistas en SAPUI5 se gestiona mediante el enrutador (Router), definido en el archivo manifest.json. Este componente permite crear rutas y asociarlas a vistas específicas, facilitando la navegación dentro de la aplicación.

El uso del Router es esencial para aplicaciones con múltiples pantallas, ya que proporciona una forma estructurada y escalable de manejar la navegación. Además, permite pasar parámetros entre vistas, lo que añade flexibilidad al desarrollo.

Ejercicio Práctico

manifest.json:

'routes': [{'pattern': '', 'name': 'Main', 'target': 'Main'}]

Controlador:

this.getOwnerComponent().getRouter().navTo('Main');

Conclusión

Este ejercicio muestra cómo implementar navegación entre vistas.


Artículo 10: Buenas prácticas y optimización

Parte Teórica

Para garantizar el rendimiento y la mantenibilidad de las aplicaciones SAPUI5, es importante seguir buenas prácticas como usar Component.js para inicialización, fragmentos para reutilizar UI y activar minificación y carga diferida. Estas técnicas reducen el tiempo de carga y mejoran la experiencia del usuario.

Además, se recomienda organizar el código en módulos, evitar lógica compleja en los controladores y utilizar herramientas de análisis para identificar cuellos de botella. Implementar estas prácticas desde el inicio asegura aplicaciones más eficientes y escalables.

Ejercicio Práctico

Fragmento:

sap.ui.xmlfragment('idDialog', 'view.Dialog', this);

Conclusión

Este ejercicio muestra cómo usar fragmentos para optimización.


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment