✒️SAP BTPFIORI / La reutilización de código Por Jaime Gomez Arango

Selector Alummnos / Empresas

SAP BTPFIORI La reutilización de código

SAP BTPFIORI La reutilización de código

Navigation and Code Reusability

SAPUI5 supports the modularization of JavaScript applications. This means instead of defining and loading a large JavaScript package, an application can be divided into smaller parts that can be loaded at runtime as needed. These smaller individual files are called modules.

Modularization involves dividing the application code into smaller, independent parts (modules) that facilitate code reuse, improve readability, and enhance maintainability. Modules can contain any code, but typically, their content focuses on a common theme, like forming a JavaScript class, a namespace, or addressing specific functions such as client-server communication or mathematical operations.

1 | What is a Module?

A module is a JavaScript file that can be loaded and executed in a browser. There are no strict rules about what code belongs to a module; the content is up to the developer. Typically, the content has a common theme, like forming a JavaScript class or namespace, or addressing specific functions, for example, client-server communication or mathematical functions.

Key Concepts:

  • Name: Identifies the module in relation to the sap.ui.define and sap.ui.require syntax. A module can be required by its given name.
  • Definition: Modules have a predefined structure based on the sap.ui.define function, ensuring asynchronous resource loading.
  • Dependencies: Each module defines a list of dependencies that must be resolved before executing the module's callback function.

Modules are essential for splitting the code into smaller, manageable parts, allowing for asynchronous loading and better performance.

2 | Loading a Module in the Controller

The entry point of an SAPUI5 application is often a module used to create an instance of an SAPUI5 component. This central module is like a node in a graph, with all dependent modules and their dependencies as connected nodes.

Asynchronous Loading with sap.ui.define and sap.ui.require

  • sap.ui.define: Used to define a JavaScript module. It allows defining a global namespace, making the object usable in the controller.
sap.ui.define([
"sap/ui/core/mvc/Controller",
"sap/m/MessageToast"
], function(Controller, MessageToast) {
"use strict";
return Controller.extend("namespace.MyController", {
onShowHello: function() {
MessageToast.show("Hello World");
}
});

});

  • sap.ui.require: Used to load dependencies asynchronously without declaring a namespace.
sap.ui.require([
"sap/m/MessageBox"
], function(MessageBox) {
MessageBox.show("Hello World");
}
);

These methods allow for clear separation between module loading and code execution, improving application performance. Be cautious with resource paths, and use the data-sap-ui-resourceroots parameter in the bootstrap configuration to manage resource locations.

3 | Fragments

Fragments are lightweight, reusable parts of the UI used to modularize the view part of the application. Unlike views, fragments do not have associated controllers. They are often used for designing dialogs and dynamic screens, where different fragments can be included based on business scenarios.

Types of Fragments

  • XML Fragments
  • HTML Fragments
  • JS Fragments

Fragments are helpful when you need reusable UI parts across multiple views or want to swap UI parts under certain conditions. An embedded fragment behaves as part of the view, integrating seamlessly into the DOM.

4 | Implementing Dialog as a Fragment

Fragments can be used to implement dialogs, which are commonly reused across screens.

Example: Creating a Dialog Fragment

To create and show a dialog fragment when a user clicks the "Say Hello With Dialog" button:

  • Define the fragment in an XML file:
<core:FragmentDefinition
xmlns="sap.m"
xmlns:core="sap.ui.core">
<Dialog
title="Hello World">
<content>
<Text text="Hello World"/>
</content>
<buttons>
<Button
text="Close"
press="onCloseDialog"/>
</buttons>
</Dialog>
</core:FragmentDefinition>

  • Load and display the fragment in the controller:
sap.ui.define([
"sap/ui/core/mvc/Controller",
"sap/ui/core/Fragment"
], function (Controller, Fragment) {
"use strict";

return Controller.extend("namespace.MyController", {
onOpenDialog: function () {
var oView = this.getView();
if (!this.byId("helloDialog")) {
Fragment.load({
id: oView.getId(),
name: "namespace.view.HelloDialog",
controller: this
}).then(function (oDialog) {
oView.addDependent(oDialog);
oDialog.open();
});
} else {
this.byId("helloDialog").open();
}
},
onCloseDialog: function () {
this.byId("helloDialog").close();
}
});
});


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Jaime Eduardo Gomez Arango, en su ámbito de estudios para la Carrera Consultor SAP BTP Fiori.

SAP Expert


Jaime Eduardo Gomez Arango

Profesión: Ingeniero de Sistemas y Computación - España - Legajo: SW34C

✒️Autor de: 149 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Ingeniero de sistemas y computación con 8 años de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.

Certificación Académica de Jaime Gomez

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "La reutilización de código" de la mano de nuestros alumnos.

SAP SemiSenior

La reutilización de código 1. Introducción En SAPUI5, la reutilización de código busca aprovechar partes ya desarrolladas (vistas, fragmentos o funciones) para evitar duplicaciones, reducir errores y mejorar la mantenibilidad. Esta práctica es fundamental en el desarrollo profesional de aplicaciones Fiori, donde los componentes se diseñan para ser modulares, escalables y reutilizables. 2. Concepto general La reutilización consiste en centralizar la lógica o la interfaz común para que pueda emplearse en distintas partes del proyecto o en diferentes aplicaciones. SAPUI5 ofrece diversas formas de reutilizar código: Fragments → Porciones de interfaz reutilizables...

Acceder a esta publicación

Creado y Compartido por: Jose Rodrigo Baz Suarez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

La reutilizacion de codigo Modulo: en la division del codigo de las app en partes mas pequeñas. Nombre Definicion Dependencias La carga de un modulo en el contralador Sincrono: Las instrucciones se ejecutan una después de la otra, El programa espera a que una tarea termine antes de continuar con la siguiente. Asincrona: El programa lanza una tarea y sigue con la siguiente, sin esperar a que termine. Útil para tareas lentas como acceder a una API, leer archivos, cargar servicios OData en SAPUI5, etc. Sentencias para una carga asincrona sap.ui.define: definicion de un modulo JavaScript. sap.ui.requiere: cargar módulos JavaScript de manera asíncrona, es decir, bajo demanda y sin bloquear...

Acceder a esta publicación

Creado y Compartido por: Claudia Bibiana Monsalve Lopez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

1. QUE ES UN MODULO Es un archivo JS que se puede cargar y ejecutar en un navegador. No tienen una estructura o sintaxis predefinida, pero los desarrolladores pueden utilizar las siguiente funciones: Nombre: Definicion: basada en la funcion sap.ui.define, esta sintaxis AYUDA A GARANTIZAR UNA CARGA ASINCRONICA DE RECURSOS Dependencias 2. LA CARGA DE UN MODULO EN EL CONTROLADOR Los modulos necesarios en SAPUI5 estan habilitados para cargarse de forma asincrona. los procesos asincronicos son operaciones que se ejecutan "en paralelo" al flujo de ejecucion de las apps. Cuando un procesoa sincrono termina, el mismo dispara un evento que es asociado al callback. Para la carga de forma asincrona de un modulo y de...

Acceder a esta publicación

Creado y Compartido por: Roberto Hernan Santucho

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


La modularizacion consiste en dividir el código de nuestras aplicaciones en partes más pequeñas e independientes que permite la reutilización del código mejorando la legitimidad del mismo y sobre todo su mantenimiento. El fraemwork SAP GUI5 soporta la modularizacion de las aplicaciones JAVASCRIPT donde cada módulo define una lista de dependencias de otros módulos que necesitan ser cargados antes de poder usar dichos módulos para la carga de forma sincrona de un módulo de sus posibles dependencias obtenemos las sentencias SAP.UI.DEFINE y SAP.UI.REQUIRE. Al igual que document.fragment en HTML el fragmento en si no tiene presentación en HTML cuando se inserta en el árbol...

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Navigation and Code Reusability SAPUI5 supports the modularization of JavaScript applications. This means instead of defining and loading a large JavaScript package, an application can be divided into smaller parts that can be loaded at runtime as needed. These smaller individual files are called modules. Modularization involves dividing the application code into smaller, independent parts (modules) that facilitate code reuse, improve readability, and enhance maintainability. Modules can contain any code, but typically, their content focuses on a common theme, like forming a JavaScript class, a namespace, or addressing specific functions such as client-server communication or mathematical operations. 1 | What is a Module? A module is a JavaScript...

Acceder a esta publicación

Creado y Compartido por: Jaime Eduardo Gomez Arango / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

¿Qué es un módulo? En resumen, un módulo es una parte más pequeña y modular de una aplicación JavaScript que se carga y ejecuta en el navegador. No hay reglas estrictas sobre qué código pertenece a un módulo, pero generalmente tienen un tema común o abordan una funcionalidad específica. La modularización permite dividir el código en partes independientes para facilitar su reutilización y mantenimiento. Los módulos pueden tener un nombre que los identifica y utilizan la función sap.ui.define para su definición. También pueden tener dependencias que deben resolverse antes de que se ejecute la función de devolución...

Acceder a esta publicación

Creado y Compartido por: Nilson Parra Martinez / Disponibilidad Laboral: PartTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Modulos modularización reutilización sap.ui.define sap.ui.require carga asincrónica de recursos dependencias asincronicos se ejecutan en paralelo callback controller messagetoast jquery.sap.global.js controlador de eventos controlador de vistas fragmento xml html js desacoplamiento this.getOwnerComponent()

Acceder a esta publicación

Creado y Compartido por: Enrique Gomez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Modulo Es un archivo JavaScript que se puede cargar y ejecutar en un navegador. No hay reglas o definiciones sobre que codigo pertenece a un modulo y que no La modularizacion consiste en la division del codigo de nuestras aplicaciones en partes mas pequeñas e independientes qie permitan la reutilizacion de ese codigo Para cargar de form asincronica un modulo y sus posibles dependencias tenemos las sentencias: sap.ui.define Los fragmentos Los fragmentos son parte de UI independiebtes, liviana y reutilizables que se pueden usar para modulsrizar la vista de nuestra aplicacion. Son como vistas pero no hay controlado unido a fragmentos Los fragmentos se utilizan ampliamente al diseñar diálogos porque los dialogos generalmente...

Acceder a esta publicación

Creado y Compartido por: Detriana Barrios / Disponibilidad Laboral: FullTime + Carta Presentación

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!