{"id":7251,"date":"2021-12-20T08:00:31","date_gmt":"2021-12-20T07:00:31","guid":{"rendered":"http:\/\/192.168.20.3\/?p=7251"},"modified":"2024-12-10T16:10:11","modified_gmt":"2024-12-10T15:10:11","slug":"aplicaciones-multiplataforma-electron-sapui5","status":"publish","type":"post","link":"https:\/\/orekait.com\/es\/aplicaciones-multiplataforma-electron-sapui5\/","title":{"rendered":"Apps multiplataforma con Electron SAPUI5<br> <span class=\"font-300\"><\/span>"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;section&#8221; _builder_version=&#8221;4.16&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_row admin_label=&#8221;Imagen principal&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_image src=&#8221;https:\/\/orekait.com\/wp-content\/uploads\/2021\/12\/sapui5.png&#8221; alt=&#8221;cloud-public&#8221; title_text=&#8221;sapui5&#8243; admin_label=&#8221;Imagen principal&#8221; module_class=&#8221;post-img&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Cuerpo&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text admin_label=&#8221;Texto&#8221; _builder_version=&#8221;4.25.2&#8243; header_2_font_size=&#8221;24px&#8221; header_3_font_size=&#8221;20px&#8221; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; content__hover_enabled=&#8221;off|hover&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<p>En este art\u00edculo veremos\u00a0<strong>c\u00f3mo crear aplicaciones multiplataforma de escritorio usando Electron + SAPUI5<\/strong>\u00a0y c\u00f3mo construir\u00a0<strong>un solo ejecutable<\/strong>\u00a0para nuestra aplicaci\u00f3n.<\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Electron:<\/strong><\/h3>\n<p>Electron es un<strong>\u00a0framework de c\u00f3digo abierto desarrollado y mantenido por GitHub<\/strong>. Combina el motor\u00a0<strong>Chromium<\/strong>\u00a0y<strong>\u00a0Node.js\u00a0<\/strong>lo que permite escribir aplicaciones en tecnolog\u00edas web y encapsularlas en un contenedor para que\u00a0<strong>parezcan apps nativas de escritorio<\/strong>. Aplicaciones como\u00a0<strong>Microsoft Teams<\/strong>,<strong>\u00a0Discord<\/strong>, o\u00a0<strong>Spotify<\/strong>\u00a0est\u00e1n desarrolladas con Electron.<\/p>\n<p>Usar Electron trae una serie de<strong>\u00a0beneficios<\/strong>\u00a0como el\u00a0<strong>acceso a la API del hardware<\/strong>, la opci\u00f3n de poder\u00a0<strong>seguir usando<\/strong>\u00a0la app\u00a0<strong>si<\/strong>\u00a0el servidor que aloja la aplicaci\u00f3n\u00a0<strong>Fiori se cae<\/strong>, que todo el mundo usa la misma aplicaci\u00f3n y de esta manera\u00a0<strong>evitas los problemas de compatibilidad\u00a0<\/strong>con los diferentes navegadores y que a la hora de implementarlo, es m\u00e1s f\u00e1cil decirle a un usuario que abra una aplicaci\u00f3n en lugar de tener que ir al navegador y guardar la direcci\u00f3n.<\/p>\n<p>Para poder empezar a construir la aplicaci\u00f3n necesitaremos<strong>\u00a0instalar Node.js<\/strong>\u00a0y una aplicaci\u00f3n\u00a0<strong>SAPUI5<\/strong>. Yo usar\u00e9 una aplicaci\u00f3n de demo de la siguiente p\u00e1gina<strong>\u00a0<a href=\"https:\/\/sapui5.hana.ondemand.com\/#\/demoapps\" target=\"_blank\" rel=\"noopener\">https:\/\/sapui5.hana.ondemand.com\/#\/demoapps<\/a>.<\/strong><\/p>\n<p>Una vez tengamos todo,\u00a0<strong>crearemos la carpeta de nuestra aplicaci\u00f3n y moveremos la carpeta webapp\u00a0<\/strong>de nuestra aplicaci\u00f3n\u00a0<strong>UI5<\/strong>\u00a0dentro de esta. Despu\u00e9s\u00a0<strong>abrimos un terminal\u00a0<\/strong>y<strong>\u00a0navegamos a la ra\u00edz<\/strong>\u00a0de nuestra aplicaci\u00f3n. Ejecutamos el siguiente\u00a0<strong>comando<\/strong>:<\/p>\n<p><strong>npm init<\/strong><\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-7280 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/12\/electron-1.png\" alt=\"\" width=\"389\" height=\"174\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/12\/electron-1.png 389w, https:\/\/orekait.com\/wp-content\/uploads\/2021\/12\/electron-1-300x134.png 300w\" sizes=\"auto, (max-width: 389px) 100vw, 389px\" \/><\/figure>\n<\/div>\n<p>Ahora crearemos un<strong>\u00a0fichero main.js\u00a0<\/strong>en la ra\u00edz y pegaremos el siguiente\u00a0<strong>c\u00f3digo<\/strong>:<\/p>\n<p><strong>const { app, BrowserWindow } = require(\u2018electron\u2019)<\/strong>;<\/p>\n<p><strong>let mainWindow;<\/strong><\/p>\n<p><strong>app.on(\u2018ready\u2019, () =&gt; {<\/strong><\/p>\n<p><strong>\u00a0mainWindow = new BrowserWindow({<\/strong><\/p>\n<p><strong>width: 800,<\/strong><\/p>\n<p><strong>height: 600,<\/strong><\/p>\n<p><strong>webPreferences: {<\/strong><\/p>\n<p><strong>\u00a0nodeIntegration: false<\/strong><\/p>\n<p><strong>\u00a0}<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0 });<\/strong><\/p>\n<p><strong>\u00a0 mainWindow.loadFile(\u2018webapp\/index.html\u2019);<\/strong><\/p>\n<p><strong>});<\/strong><\/p>\n<p>Aqu\u00ed podremos\u00a0<strong>configurar ventana de Electron<\/strong>\u00a0y en la funci\u00f3n<strong>\u00a0loadFile\u00a0<\/strong>le diremos que fichero mostrar.<\/p>\n<p>Ahora tenemos que<strong>\u00a0abrir el index.html<\/strong>\u00a0que se encuentra\u00a0<strong>en webapp\/index.html<\/strong>\u00a0y\u00a0<strong>sustituir el src<\/strong>\u00a0del script de<strong>\u00a0sap-ui-core.js\u00a0<\/strong>por el siguiente:<strong>\u00a0<a href=\"https:\/\/sapui5.netweaver.ondemand.com\/resources\/sap-ui-core.js\" target=\"_blank\" rel=\"noopener\">https:\/\/sapui5.netweaver.ondemand.com\/resources\/sap-ui-core.js<\/a><\/strong><\/p>\n<p>y en el fichero<strong>\u00a0package.json \u00a0a\u00f1adiremos<\/strong>\u00a0lo siguiente dentro de scripts:<\/p>\n<p><strong>\u00abstart\u00bb: \u00abelectron .\u00bb<\/strong><\/p>\n<p>Para probar la aplicaci\u00f3n primero tendremos que a\u00f1adir Electron, desde el terminal escribiremos el siguiente\u00a0<strong>comando<\/strong>:<\/p>\n<p><strong>npm install electron \u2013save-dev<\/strong><\/p>\n<p>y despu\u00e9s para<strong>\u00a0probarlo<\/strong>:<\/p>\n<p><strong>npm start<\/strong><\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-7284 \" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/12\/electron-2.png\" alt=\"\" width=\"668\" height=\"510\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/12\/electron-2.png 668w, https:\/\/orekait.com\/wp-content\/uploads\/2021\/12\/electron-2-480x367.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 668px, 100vw\" \/><\/figure>\n<\/div>\n<p>En el\u00a0<strong>pr\u00f3ximo\u00a0<\/strong>art\u00edculo veremos\u00a0<strong>c\u00f3mo podemos empaquetar nuestra aplicaci\u00f3n para diferentes sistemas operativos y de esta forma obtener un solo ejecutable<\/strong>\u00a0para no tener que escribir comandos cada vez que queramos usar la aplicaci\u00f3n. Recuerda que puedes consultar cualquier duda en los comentarios o contactando con nosotros.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;M\u00e1s informaci\u00f3n&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p class=\"morado\">M\u00e1s informaci\u00f3n:<\/p>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/orekait.com\/es\/area-experiencia-cliente&#8221; button_text=&#8221;M\u00e1s informaci\u00f3n&#8221; module_class=&#8221;entrada-btn&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_color=&#8221;#8156EA&#8221; button_bg_color=&#8221;RGBA(255,255,255,0)&#8221; button_border_color=&#8221;#8156EA&#8221; button_border_radius=&#8221;30px&#8221; button_font=&#8221;Plus Jakarta Sans|600|||||||&#8221; button_icon=&#8221;&#x24;||divi||400&#8243; button_icon_color=&#8221;#8156EA&#8221; button_on_hover=&#8221;off&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; button_text_color__hover_enabled=&#8221;on|desktop&#8221; button_text_color__hover=&#8221;#8156EA&#8221; button_bg_color__hover_enabled=&#8221;on|hover&#8221; button_bg_color__hover=&#8221;#8156EA&#8221; button_bg_enable_color__hover=&#8221;on&#8221; button_icon_color__hover_enabled=&#8221;on|hover&#8221; button_icon_color__hover=&#8221;#ffffff&#8221; url_new_window=&#8221;on&#8221; sticky_enabled=&#8221;0&#8243;][\/et_pb_button][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||40px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=&#8221;on&#8221; admin_label=&#8221;Noticias relacionadas titulo&#8221; module_id=&#8221;fondo-articulos&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#f7f7f7&#8243; width=&#8221;100%&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;RGBA(255,255,255,0)&#8221; custom_margin=&#8221;||40px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][et_pb_heading title=&#8221;Quizas te pueda interesar&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; title_level=&#8221;h2&#8243; title_text_align=&#8221;center&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_heading][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||30px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Noticias relacionadas&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; width=&#8221;100%&#8221; custom_margin=&#8221;-150px||||false|false&#8221; custom_margin_tablet=&#8221;0px||||false|false&#8221; custom_margin_phone=&#8221;0px||||false|false&#8221; custom_margin_last_edited=&#8221;on|desktop&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_blog fullwidth=&#8221;off&#8221; posts_number=&#8221;3&#8243; include_categories=&#8221;current&#8221; show_author=&#8221;off&#8221; show_date=&#8221;off&#8221; show_pagination=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_blog][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este art\u00edculo veremos\u00a0c\u00f3mo crear aplicaciones multiplataforma de escritorio usando Electron + SAPUI5\u00a0y c\u00f3mo construir\u00a0un solo ejecutable\u00a0para nuestra aplicaci\u00f3n. &nbsp; Electron: Electron es un\u00a0framework de c\u00f3digo abierto desarrollado y mantenido por GitHub. Combina el motor\u00a0Chromium\u00a0y\u00a0Node.js\u00a0lo que permite escribir aplicaciones en tecnolog\u00edas web y encapsularlas en un contenedor para que\u00a0parezcan apps nativas de escritorio. Aplicaciones como\u00a0Microsoft [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":7274,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"Lorem ipsum dolor sit amet consectetur adipiscing elit congue montes, imperdiet taciti erat elementum fermentum sem ante ultrices ridiculus, sagittis sociis egestas quisque ac semper quis odio. Aenean hendrerit ac metus dis nascetur aliquet mollis integer, rutrum vel laoreet posuere proin sagittis luctus est, tempus duis nisl ultrices parturient tempor praesent. Dignissim curabitur nascetur pellentesque augue fringilla pulvinar eros, tempus fames vehicula maecenas cubilia id, rutrum euismod integer ut scelerisque mus.\r\n\r\nVivamus auctor odio aenean rhoncus natoque dictum purus, volutpat pellentesque laoreet ridiculus consequat nisi varius euismod, augue platea convallis curae magnis taciti. Imperdiet nibh curabitur quisque orci consequat aenean pellentesque, cubilia duis senectus felis sed posuere tortor, magnis enim diam a odio sociis. Enim tellus nisl nec molestie augue luctus tempor habitant, nunc dictumst phasellus volutpat sem facilisis taciti, habitasse laoreet at turpis vel fermentum vulputate.","_et_gb_content_width":"","footnotes":""},"categories":[16],"tags":[],"class_list":["post-7251","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-customer-experience"],"_links":{"self":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/7251","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/comments?post=7251"}],"version-history":[{"count":8,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/7251\/revisions"}],"predecessor-version":[{"id":21311,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/7251\/revisions\/21311"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/media\/7274"}],"wp:attachment":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/media?parent=7251"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/categories?post=7251"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/tags?post=7251"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}