Páginas

domingo, 13 de febrero de 2022

¿Qué es LOW CODE?

Low Code es una corriente de desarrollo de software que ayuda a construir aplicaciones sin la necesidad de escribir código o escribiendo poco código.

Hay numerosas herramientas que se publicitan como “Low Code” y que prometen:

  • Construir aplicaciones sin necesidad de ingenieros del software o expertos que dominen algún lenguaje de programación
  • Desarrollar apps para móviles, cloud y/o web
  • Crear aplicaciones haciendo “arrastrar y soltar”
  • Usar APIs REST  sin necesidad de conocer los end-points o interfaz técnica
  • Conectar con bases de datos sin usar lenguajes técnicos: SQL o similares
  • Embellecer aplicaciones web o móviles sin saber html, css, ni javascript
  • Desarrollar flujos de trabajo adaptados a las necesidades del negocio
  • Utilizar plantillas preestablecidas como base de la creación de apps o flujos de trabajo


La corriente “Low Code” viene de antiguo. En 1968 en la universidad de Michigan se inició el proyecto ISDOS (Information System Design and Optimization System) que estaba enfocado en ayudar a los equipos de desarrollo durante las fases del desarrollo del software. Este proyecto iluminó a otros muchos que acabaron elaborando lo que se denominó herramientas CASE (Computer Aided Software Engineering). Estas herramientas ayudaban en el análisis y diseño permitiendo realizar gráficos del sistema a construir y documentar los elementos que lo componían. También basándose en distintos esqueletos, servían para generar código de forma automatizada.

En la década de los 90 surgió la corriente de los lenguajes de programación basados en el paradigma de orientación a objetos (OO). A finales de los 90 con el auge de internet, estos lenguajes se llevaban toda la cuota de los nuevos desarrollos. Alentados por el éxito de las herramientas CASE del pasado, los expertos idearon un lenguaje de modelado específico para el desarrollo con lenguajes OO. Este lenguaje llamado UML (Unified Modeling Languaje) es un compendio de especificaciones para representar gráficamente todo lo que se puede desarrollar con un lenguaje OO. Partiendo de esta representación gráfica se crearon herramientas que generaban el código de los programas.

Todas estas iniciativas se pueden considerar precursoras de Low Code puesto que finalmente conseguían que los programadores tuvieran que escribir menos código.

El desarrollo de sistemas software consiste en su creación y posterior mantenimiento. Las empresas grandes y pequeñas invierten bastante dinero en el software que utilizan. Las herramientas de Low Code pretenden conseguir que esta inversión se minimice.
 
Veamos un ejemplo. Un departamento de ventas necesita hacer un resumen de los productos que se han vendido durante el año, se requiere elaborar un informe de los productos se han vendido mejor y han supuesto más ingresos para la compañía. Es necesario un resumen anual y un resumen mensual. Esta labor, antes de que existiesen las herramientas para hacer hojas de cálculo, requería un análisis en el que colaboraban un experto en ventas y un experto en desarrollo. Después un diseño para dar solución a lo analizado y para terminar una programación en algún lenguaje. Tras la puesta en marcha del sistema, viene el mantenimiento. ¿Qué pasa si el resumen además de mensual se requiere que sea semanal? Con las hojas de cálculo (Excel como máximo exponente) alguna persona del departamento de ventas, aprendió a diseñar, hacer cálculos y gráficos que resolvieron la situación con menos recursos (menos personas y menos tiempo).

En este ejemplo la hoja de cálculo es una herramienta de Low Code. A los avezados empleados que aprendieron sin conocimientos de programación a construir estas hojas, en la terminología Low Code les llaman Citizen Developers. Yo lo traduciría como desarrolladores de a pie. Resuelven la papeleta sin conocimientos de lenguajes de programación, ni bases de datos, ni sistemas operativos.

Estos Citizen Developers se suben al carro de los desarrolladores de software. Low Code dice que de esta forma se democratiza la construcción de software no necesitando grandes gurús de las tecnologías para construir sistemas de información.

No obstante, no es oro todo lo que reluce. Hay que tener en cuenta que la gestión de los sistemas de información de una empresa no es algo sencillo. La complejidad es directamente proporcional al tamaño de la organización, pequeña poca complejidad, grande mucha. O sea, Low Code es una buena corriente que posibilita la creatividad software de más personas que no solo los expertos en tecnologías. Pero toda está creación de software debe estar orquestada de forma coherente y coordinada. De otra forma las empresas caminan hacia el caos. Le suena a alguien que un mismo dato que proviene de varias fuentes no sea igual. Por ejemplo las ventas en diciembre de un determinado producto, que tiene registradas Alberto y las que tiene registradas Ana.

Pues eso,  Low Code si pero con cabeza.