Esta innovación automatiza tareas manuales, difíciles, repetitivas y que consumen excesivo tiempo y recursos, liberando el talento para realizar tareas más importantes, como centrarse en los requerimientos específicos de los clientes y su respectivo análisis.
La creciente celeridad y competitividad del mercado tecnológico, exige a los desarrolladores TI perfeccionar constantemente su trabajo, de modo tal que la rapidez sea su norma, pero sin que esto se convierta en ineficiencia.
Una de las estrategias más utilizadas para cumplir esta característica, es la programación Low-Code o LCAP (Low-Code Application Platform). Esta responde a la necesidad de crear aplicaciones de manera rápida y con mínima programación manual, cuyo aporte creativo se centra, específicamente, en “lo que falta por hacer” y no en lo “ya conocido”.
PRINCIPALES CARACTERÍSTICAS
La filosofía subyacente a esta tendencia de trabajo puede resumirse en la siguiente pregunta: ¿para qué volver a empezar de cero, si todos estos problemas ya se han resuelto y los patrones se entienden bien?
De este modo, el desarrollador se orienta directamente a crear lo nuevo y valioso, en lugar de volver a programar miles de líneas, de quebrarse la cabeza con las peculiaridades del último framework, o de realizar infinidad de pruebas antes de siquiera empezar a escribir el primer código.
Consecuentemente, esto permite desarrollar aplicaciones empresariales completas y muy eficientes, sin recurrir a un gran trabajo de programación, pues el código ya viene “preconstruido”. Para ello se recurre a herramientas que operan en una interfaz moderna, pero muy simple, mediante la integración de datos, y recurriendo a una lógica rápida y visual del tipo “arrastrar y soltar”.
A partir de esta base, los desarrolladores se ahorran los múltiples problemas derivados del uso de infraestructura redundante, así como de la implementación reiterada de patrones complejos que puedan ralentizar su trabajo.
También pueden dedicarse por entero a perfeccionar o renovar directamente ese característico “20%” que marca la real diferencia entre una aplicación y otra. En otras palabras, orientan todo su esfuerzo creativo a los aspectos que realmente aportarán valor nuevo a los clientes.
Los datos obtenidos se almacenan en un Common Data Service (CDS), que generalmente se hospeda en la nube del proveedor de la aplicación. Sin embargo, en algunas ocasiones también se permite que sea instalado on-premise, o en la nube de la empresa.
La importancia estratégica de este estilo de desarrollo de software, es similar a la que en su momento tuvo la aparición de las cadenas de montaje en la industria manufacturera.
Ambas innovaciones automatizan tareas manuales difíciles, repetitivas y que consumen excesivo tiempo y recursos. Ello libera tiempo y talento para realizar tareas mucho más importantes, como centrarse en los requerimientos específicos de los clientes y su respectivo análisis.
TIPOS DE USO
La mayoría de las plataformas Low-Code están pensadas para crear aplicaciones generales. Sin embargo, también existen soluciones especializadas en funciones concretas.
Por ejemplo, algunas se centran en el sector de la banca y desarrollan aplicaciones de pagos móviles; mientras que otras, de mayor tamaño, pueden llegar a funcionar como sistema de gestión de procesos empresariales (BPM), en diversas compañías estratégicas.
En líneas generales, una plataforma low-code tiene las siguientes características:
– Entorno de desarrollo (IDE) visual: Que permite definir visualmente las interfaces de usuario, los flujos de trabajo, los modelos de datos de la aplicación y, en caso de ser necesario, la opción de añadir código escrito a mano.
– Conectores de diversos back-ends o servicios: Que permiten el manejo automático de las estructuras de datos, así como su almacenamiento y recuperación.
– Gestor del ciclo de vida de aplicaciones: Herramientas automatizadas que permiten construir, depurar, desplegar y mantener la aplicación en modo prueba, puesta en marcha, y producción.
De acuerdo con la profundidad de sus conocimientos técnicos, es posible, también, reconocer tres perfiles típicos de usuarios Low-Code:
- Desarrolladores ciudadanos que trabajan preferentemente sin códigos.
- Desarrolladores técnicos no programadores como, por ejemplo, analistas de negocio con conocimientos TIC.
- Desarrolladores profesionales que apuntan a un entorno y resultado rentable.
Este último tipo es muy importante, porque si bien existe el mito de que las tecnologías Low-Code no son para programadores, los expertos internacionales coinciden en que un alto porcentaje de sus usuarios proviene de entornos que actualmente trabajan con tecnologías de mayor complejidad, como Java y Microsoft, entre otras.
PRINCIPALES VENTAJAS
El uso de la arquitectura Low-code se traduce en diversos beneficios, de los cuales el más importante es el ahorro de tiempo y recursos. Además, ayuda a centrarse en las necesidades de los clientes, y no tanto en la tecnología de desarrollo.
Esto permite convertir ideas geniales en software rentable, simplificando todo el ciclo de desarrollo, desde la concepción inicial, hasta su despliegue y mantenimiento futuro.
Asimismo, una plataforma Low-Code permite programar e implementar software de gestión con mayor rapidez de la que se creía posible. Dependiendo de la complejidad de la aplicación final, puede estar en funcionamiento en sólo días o semanas, a diferencia de la programación tradicional, que tarda meses para dejar una aplicación lista.
También aporta confianza, ya que técnicamente permite hacer cosas muy complejas, acercando, al mismo tiempo, la tarea de programación tanto a empresas de nicho, como a perfiles técnicos con menos conocimientos avanzados de programación.
Dicho de otro modo, en un desarrollo Low-Code no importa el grado de conocimiento que se tenga, sino la capacidad efectiva de crear una aplicación que aporte valor real a los procesos de una empresa. Esta ventaja permite centrarse en el cliente y no tanto en la tecnología.
Además, como los módulos están pre-construidos, las aplicaciones Low-code pueden operar en distintos sistemas operativos y dispositivos, incluyendo dispositivos móviles.
Finalmente, el precio final de estas herramientas es de nivel bajo-medio, a diferencia de la programación tradicional, que siempre tendrá un valor mucho más elevado.
PRINCIPALES DESVENTAJAS
Si bien la simplificación en el desarrollo brinda un impacto muy positivo para las empresas desarrolladoras de software, el usuario final puede enfrentar ciertas externalidades negativas, que se deben tomar en cuenta.
1. Baja personalización
Los módulos preconstruidos dan muy poca flexibilidad para personalizar la aplicación de acuerdo con las características del usuario. Ello obliga a ajustarse a la forma de trabajar de los módulos para poder funcionar. Esto puede ser un inconveniente en empresas que deben seguir ciertos procedimientos específicos, o ajustarse en forma diferenciada a leyes o particularidades del sector.
2. Desconocimiento de la herramienta
El usuario desconoce el interior de la app, por lo que puede perder cierto control sobre ella. En el caso de la programación tradicional, los proveedores de soluciones suelen estar más abiertos a compartir esta información con sus clientes. Más aún, en el caso de las opciones open source, el usuario incluso recibe el código para poder trabajar y desarrollar la aplicación de acuerdo con sus necesidades.
3. Mantenimiento monopolizado
Los fabricantes de la plataforma Low-Code llevan a cabo las actualizaciones y cambios cuando y cómo lo desean, sin preguntar a sus usuarios lo que realmente necesitan. En el caso de las aplicaciones tradicionales en la nube, esto también es así, pero en muchos casos se puede negociar con el proveedor, para que el procedimiento se haga cuando sea conveniente para el usuario.
EL IMPACTO DEL “NO-CODE”
La constante evolución de las plataformas y softwares Low-code, ha llevado a la aparición de un nuevo estilo de desarrollo de aplicaciones denominado No-Code.
Si bien, algunos fabricantes o propietarios suelen considerarlas como parte de una misma categoría, desde un punto de vista técnico no son lo mismo.
En primer término, las aplicaciones No-Code pueden ser creadas por usuarios sin conocimientos de programación, porque sus módulos ya están fabricados. Sólo hay que elegir aquellos que se necesiten, y añadir los datos de la empresa.
Uno de los ejemplos más conocidos actualmente son las plataformas de envío de newsletters a clientes. Estas permiten que los encargados de marketing o RRPP de una empresa puedan crear audiencia, segmentar sus comunicaciones y diseñar un formato de email, sin tener conocimientos de programación frontend.
Desde dicho punto de vista, el No-Code es una herramienta extremadamente útil para el posicionamiento organizacional. Sin embargo, a diferencia del software tradicional o del propio Low-code, no tiene ninguna posibilidad de personalización, dado que no hay código para agregar.
Las principales diferencias entre el Low-Code y el No-Code, son las siguientes:
– El Perfil de los creadores de una aplicación Low-Code corresponde a desarrolladores de software; mientras que en el No-Code se trata de usuarios empresariales y no técnicos.
– El objetivo principal de una aplicación Low-Code es el desarrollo rápido; mientras que el de una No-Code es la facilidad de uso.
– Para crear una aplicación Low-Code se utiliza muy poco código; mientras que en las No-Code no se utiliza ninguno.
– Las aplicaciones Low-Code tienen una personalización media, dado que ésta depende de las características de cada LCAP. En el caso de las No-Code es muy baja. Sólo algunos elementos admiten cierta personalización, como, por ejemplo, las plantillas preconstruidas.
– La dependencia del proveedor de Low-Code es baja, dado que hay cierta facilidad para cambiar o moverse entre distintas plataformas. En el caso del No-Code, esta dependencia alta, porque a menudo todo tiene que estar en la misma plataforma.
– El propósito del Low-Code es establecer una nueva generación de herramientas de desarrollo rápido para desarrolladores. En cambio, la solución No-Code busca crear aplicaciones de autoservicio para usuarios empresariales no experimentados.
– Las aplicaciones Low-Code pueden ser de complejidad media-alta. Por el contrario, las No-Code sólo son simples y básicas.