En este artículo hablaremos de 2 asuntos que son tendencia este año 2021: low code, con la plataforma OutSystems y como la aplicación de plugins, en las aplicaciones móvil, puede realizarse de una manera sencilla y rápida.
Outsystems es una plataforma low code que proporciona herramientas para que las compañías desarrollen y gestionen aplicaciones empresariales omni canal.
Una de las grandes ventajas de Outsystems es su capacidad de integración con las más diversas tecnologías. Hoy en día, el portfolio tecnológico de una empresa contiene diversas tecnologías y Outsystems providencia conectores predefinidos para que se pueda integrar esas tecnologías sin desarrollar una línea de código. Tiene conectores nativos para SAP, REST y SOAP y tiene la forge, un Marketplace donde se puede publicar y descargar componentes de manera gratuita como una App store o una play store. Tiene más de 200 integraciones, como herramientas de servicios cloud como AWS o integraciones con base de datos externas. Y tiene también conectores que se conectan directamente a diversos plug-ins.
Plugins son pequeños programas complementarios que amplían las funciones de aplicaciones web y programas de escritorio. Por norma general, cuando instalamos un plugin, el software en cuestión adquiere una nueva función. Un buen ejemplo de un plugin es por ejemplo cuando queremos visualizar documentos en PDF en programas de cliente, debemos instalar primero un plugin para el Adobe Acrobat Reader ya que, si no, el navegador no será capaz de procesar los datos.
No obstante, los plugins no solo se usan en navegadores web; ya se han asentado en cualquier tipo de programa y aplicación. El funcionamiento es siempre el mismo: la instalación del plugin implica la ampliación del software con nuevas funciones sin necesidad de retocar el código de todo el programa.
La utilización de los plugins es posible gracias a las interfaces de programación estandarizada, más conocida por API (Application Programming Interfaces) . Las API unifican la transmisión de datos entre diferentes partes de programas al acceder a bibliotecas de uso compartido. De forma simplificada, un plugin usa determinados elementos del programa principal sin modificar su código fuente.
Ahora que ya tenemos los dos conceptos claros, vamos ver como agregar los plugins a nuestras aplicaciones de Outsystems.
Este tipo de plugins solo se puede aplicar a aplicaciones móviles. Cuando desarrollamos una aplicación móvil, probablemente esa aplicación va a usar las capacidades del móvil, como el GPS o las notificaciones.
La manera de alcanzar estas herramientas en Outsystems es con la utilización de plugins. Un plugin en Outsystems es un módulo que interactúa como una envoltura a través de Apache Cordova.
Forge es la comunidad online donde los usuarios pueden hacer upload de sus componentes o la descarga de componentes de manera gratuita y sencilla. Estos componentes están listos para utilizar de forma inmediata. También contiene componentes desarrollados por los equipos internos de Outsystems y en resumen, es la play store de la plataforma Outsystems.
Instalar un plugin en el entorno tiene el mismo procedimiento que otro cualquier componente. Se utilizan las acciones de cliente del módulo del plugin para llamar las capacidades nativas del dispositivo dentro de la aplicación. El plugin tiene que suportar las plataformas mobile (iOS, Android) donde vamos a crear la app o la generación de la aplicación va a fallar.
Cada vez que se agrega, borra o se cambia un plugin en la app, Outsystems reconstruye la Shell nativa que después tiene que distribuirse para la instalación por parte de los usuarios finales.
Plugin | Descripción |
---|---|
AppShield | Protege las aplicaciones móviles de tampering. Permite que la aplicación detecte tentativas de cambios o de mala utilización. |
Card IO | Componente que automáticamente obtiene los detalles de una tarjeta de crédito con una fotografía. |
Camera | Permite que la aplicación acceda a la cámara de un dispositivo |
Calendar | Permite el acceso al calendario del dispositivo |
Contacts | Permite el acceso a los contactos de un dispositivo. |
Cyphered Local Storage | Mantiene los datos sensibles de la aplicación móvil seguros al utilizar una base de datos local cifrada. |
InApp browser | Permite que sea posible abrir URL’s externos directamente en la aplicación |
OneSignal Notifications | Notificaciones push utilizando One Signal |
Pushwoosh Notifications | Notificaciones push utilizando Pushwoosh |
Touch Id | Permite la utilización de Touch ID en la aplicación |
QR/Barcode Scanner | Permite la lectura de QR Codes y de la posibilidad de scanear barcodes |
SSL Pinning | Providencia una camada extra de seguridad a las comunicaciones HTTPS al agregar una verificación del certificado del servidor contra las hashes de las public keys. |
Key Store | Guarda pequeñas cantidades de información sensible en el dispositivo. Providencia seguridad a los datos al encriptar el dato antes de guardarlo. |
Local Notifications | Envía notificaciones de las aplicaciones cuando la aplicación no corre en primer plan. |
Location | Permite el acceso a las capacidades de GPS del dispositivo del usuario. Por ejemplo, la latitud, longitud y altitud del dispositivo del usuario. |
Las aplicaciones móvil generadas por Outsystems ya tienen unos plugins por defecto que vienen instalados y que Outsystems usa internamente. Son los siguientes:
Plugin | Descripción |
---|---|
OS Cache | Permite que la aplicación tenga funcionalidad offline o con condiciones de red limitada. |
OS Cordova Loader | Carga el motor Cordova para la aplicación |
OS Deeplinks | Permite que se abra hyperlinks en pantallas específicas de la aplicación |
OS DB Upgrader | Gestiona la base de datos local de la aplicación |
OS Manifest | Providencia un parser para el manifiesto de la aplicación |
OS Pre-Bundle | Maneja el contenido de los recursos de la aplicación |
OS Security | Providencia los API requeridos para la cámara de seguridad |
Mobile AppFeedback | Permite la integración con la app feedback, que es una app interna de outsystems que coge el feedback del usuario y permite al usuario disponga de una herramienta para dar feedback en tiempo real. |
NetworkStatus | Permite que la aplicación sepa cuando el dispositivo esta online, offline o cual es el tipo de red disponible (3G, Wifi, 4G). |
En Outsystems, es posible crear plugins Apache Cordova al envolver los plugins en módulos que se pueden referenciar en las aplicaciones. ¿Pero cómo crearlos?
Para empezar, es necesario clonar el Template Plugin que está en la Forge que ya tiene toda su configuración para integrarse con todos los plugins Cordova que se puede customizar.
Reglas de Creación de un Plugin:
Un Plugin Cordova se puede envolver con la Referencia a la propiedad del módulo llamada Extensibility Configuration. Se puede especificar el plugin usando una de las siguientes keys dentro de una configuración JSON:
A no ser que sea un plugin soportado por Outsystems y se use un repositorio público para referenciar el plugin, es recomendable que se bifurque el repositorio del plugin o que se use una versión con un tag (por ejemplo, https://example.com/sampleplugin/sampleplugin.git#1.1.0).
Esto previene que existan cambios en el plugin y rompa la aplicación. Si no se utiliza los tags, es posible que dos builds puedan producir resultados diferentes.
Estos JSON se ponen en la propiedad Extensibility Configuration del módulo. Solo se puede utilizar una de las referencias del plugin en la llave del plugin: URL/identificador/recurso.
1. Un plugin de un registro npm
2. Un plugin de un repositorio git
3. Un plugin de un fichero ZIP
Para utilizar un fichero ZIP (my-plugin.zip), hay que descargarlo en Resources, dentro de la tab de Data en Service Studio. Se selecciona “Do Nothing” en el atributo de Deploy Nothing de las propiedades del Recurso. Si el plugin tiene argumentos adicionales, se puede hacer el emparejamiento de esos atributos definiendo el nombre de valor de esos atributos.
Cada plugin tiene una acción de validación de nombre Check
Después, hay que crear la acción dentro del módulo y agregar un elemento JavaScript al flujo con las variables. Es necesario que la acción sea pública para que esté disponible en las aplicaciones.
Un ejemplo de cómo se debe configurar el javascript:
Con las acciones concluidas, todo lo que tenemos que hacer es referenciar la misma acción en la aplicación que queremos usar e implementarla en el código.
Es necesario generar la aplicación de nuevo y volver a instalar la nueva versión en el dispositivo móvil y está lista para usar.
La plataforma Outsystems como plataforma integradora de tecnologías, permite que su integración con los cordova plugin sea hecha de una manera rápida, fácil y con utilización inmediata en las aplicaciones. Soporta aplicaciones para iOS y Android y tiene un Marketplace donde es posible descargar plugins ya hechos para su utilización inmediata. Pero en caso de no existir, es también posible crear plugins personalizados de una manera rápida y sencilla para que se integren con nuestras aplicaciones.