Blog

Una breve historia del desarrollo low-code

Tecnologías que nos ayudan a mejorar nuestra pyme

«Low-code» es un enfoque de programación visual que permite a las empresas montar aplicaciones de software con relativa rapidez utilizando una interfaz gráfica sin tener que escribir código directamente.

Aunque el término «desarrollo low-code» fue introducido en 2016 por un instituto de investigación de mercado como término genérico para una serie de proveedores, la idea que hay detrás del low-code no es nueva. En este post, veremos cómo se ha desarrollado este paradigma a lo largo del tiempo y a qué problemas se ha enfrentado.

Años 70 – 90: 4GL

Las plataformas de desarrollo low-code tienen sus raíces en el Lenguaje de Programación de Cuarta Generación (4GL), un concepto que se desarrolló desde los años 70 hasta los 90, solapándose con la mayor parte del desarrollo del 3GL.

  • Ejemplos de 3GL: C, C++, Java, Python, PHP, Perl, C#, BASIC, Pascal, Fortran, ALGOL, COBOL
  • Ejemplos de 4GL: ABAP, Unix Shell, SQL, PL/SQL, Oracle Reports, R

En su libro de 1982 «Desarrollo de aplicaciones sin programadores», James Martin argumentó que las tecnologías 4GL (como RAMIS y FOCUS) abren el entorno de desarrollo a una población más amplia y permiten que los no programadores creen aplicaciones por sí mismos.

Los lenguajes de programación de cuarta generación se refieren a lenguajes de especificación no procedimentales y de alto nivel, e incluyen soporte para la gestión de bases de datos, generación de informes, optimización matemática, desarrollo de interfaces gráficas de usuario (GUI) y desarrollo web.

La década de los 90: Desarrollo Rápido de Aplicaciones (RAD)

Como respuesta al Modelo en Cascada, hemos visto que el Desarrollo Rápido de Aplicaciones (RAD) cobró impulso en la década de 1990, cuando se popularizó el concepto de «montar» visualmente las aplicaciones de escritorio utilizando herramientas como Visual Basic, Delphi y Oracle Forms.

El modelo en cascada es un proceso basado en la planificación, utilizado por la industria del desarrollo de software durante mucho tiempo. Se desarrolló en los años 70 y 80 y se basa en el modelo de ingeniería tradicional:

Una breve historia del desarrollo low-code 1

Las herramientas RAD destacan por ser entornos fáciles de aprender: los usuarios finales deben centrarse en la interfaz gráfica de usuario y la lógica empresarial se añade paso a paso.

Tanto la interfaz de usuario como la lógica pueden almacenarse como componentes en una paleta de componentes.

Una breve historia del desarrollo low-code 2
Fuente: https://en.wikipedia.org/wiki/Rapid_application_development#/media/File:RADModel.JPG

Sin embargo, las herramientas RAD tienen limitaciones:

Suelen ser propietarias. Esto significa que no es posible salir del entorno de la herramienta o sólo es posible de forma limitada. A menudo se especifica el entorno de destino, por ejemplo, Microsoft Windows para Visual Basic y Delphi, un servidor de aplicaciones Oracle y una base de datos para Oracle Forms.

Trabajar juntos en una aplicación es difícil, o al menos sólo es posible con restricciones, ya que hay una falta de modularidad.

Las herramientas RAD, como Visual Cafe y Borlands JBuilder, tenían problemas con la velocidad y los requisitos de recursos. Estaban escritas en Java, lo que en aquel momento suponía una enorme necesidad de recursos.

2001: Arquitectura Dirigida por Modelos (MDA)

Para reducir la distancia entre el departamento y el desarrollo, el Grupo de Gestión de Objetos (OMG) lanzó en 2021 la Arquitectura Dirigida por Modelos (MDA) como un enfoque de diseño de software que proporciona un conjunto de directrices para estructurar y expresar las especificaciones como modelos.

Los modelos permiten una visión holística del dominio, tienen en cuenta tanto los requisitos técnicos como los empresariales, y se transformarán posteriormente en código ejecutable. Los generadores e intérpretes se utilizan durante el desarrollo y el tiempo de ejecución para generar o interpretar el código a partir del modelo.

Con la llegada del MDA y de las Fábricas de Software de Microsoft, el Desarrollo de Software Dirigido por Modelos (MDSD) se ha convertido en el centro de interés de los programadores, que utilizaron herramientas como UML (Lenguaje de Modelado Unificado) y BPMN (Notación de Modelado de Procesos Empresariales) para aplicarlo.

2007: Plataformas móviles

Después de que el iPhone de Apple se incorporara al mercado de los dispositivos móviles en 2007 y el Android de Google llegara un año después, surgieron diversas plataformas móviles.

Los desarrolladores estaban utilizando activamente editores visuales como Android Studio y Xcode para implementar aplicaciones que se ejecutaran localmente en Android e iOS.

Esto supuso un renacimiento de las aplicaciones de escritorio en los dispositivos móviles.

Sin embargo, el diseño web responsivo y la tecnología como las aplicaciones web progresivas (PWA) han amenazado a las aplicaciones móviles gracias a su capacidad de ofrecer aplicaciones web para dispositivos pequeños con una buena experiencia de usuario (UX) y sin necesidad de una plataforma de desarrollo móvil.

2016: Low-Code y LCDP

Tras una publicación del Grupo Forrester en 2016, el término «low-code» se hizo público.

Hemos asistido a la aparición de las plataformas de desarrollo low-code (LCDP) -que se remontan a 2011- con el objetivo de reunir el mayor número posible de conceptos bajo un mismo techo para hacer innecesaria la escritura de código o, al menos, reducirla significativamente.

Las plataformas low-code contienen los procedimientos de RAD y MDSD y tienen en cuenta la ALM (gestión del ciclo de vida de las aplicaciones), así como la integración continua (CI) o el despliegue continuo (CD) para los entornos de desarrollo, prueba y producción.

Para permitir la creación «Drag & Drop» de todo el entorno, se debe disponer de una PaaS (Plataforma como Servicio). Para ello, existen ofertas on-premise, pero normalmente se trata de servicios en la nube correspondientes.

Una breve historia del desarrollo low-code 3
Fuente: https://www.heise.de/developer/artikel/Low-Code-Low-Quality-4134288.html?seite=2

Una PaaS (Plataforma de Aplicaciones como Servicio) ofrece todo lo que una aplicación necesita para su ciclo de vida completo: desde la primera fase de planificación hasta el desarrollo, la aceptación y el funcionamiento.

2020: Una necesidad urgente de transformación digital

En 2020, la pandemia del COVID-19 ha demostrado drásticamente que muchas empresas se están quedando atrás en cuanto a la digitalización.

Para mantener el funcionamiento de sus negocios y satisfacer las necesidades de sus empleados y clientes, se han visto obligadas a actualizar sus aplicaciones y a crear otras nuevas para llenar las lagunas de los procesos existentes.

Como resultado, la popularidad del low-code ha experimentado un impulso. Este impulso continuará en 2021.

¿Qué ha aprendido el low-code de la historia?

Las tecnologías como la 4GL, que se impusieron hace décadas, prometían satisfacer rápidamente la demanda de los clientes, pero al final fracasaron debido a una serie de limitaciones y su popularidad ha disminuido desde su introducción.

En el siglo XXI, muchos entornos RAD desaparecieron del radar. Los conjuntos de herramientas de interfaz de usuario «clásicos», como Swing y SWT, perdieron cada vez más sentido, ya que la tendencia era escribir aplicaciones para la web.

El diseño de la interfaz de usuario se realiza cada vez más con HTML, CSS y JavaScript, lo que creó la profesión adicional de diseñador web. Se utilizan como sistemas de destino diferentes navegadores web, sistemas operativos como Linux, macOS, y dispositivos que van desde los PC hasta los smartphones o los wearables.

Cuando observamos a los vendedores de low-code, nos damos cuenta de que la mayoría de ellos han estudiado la historia. Saben cuáles son los problemas que plagaron la 4GL y la RAD y han intentado subsanar estos problemas en sus sistemas.

A medida que las empresas miran hacia nuevas tecnologías como la IA, la robótica, el aprendizaje automático y el IoT, las soluciones de low-code también están creciendo para ofrecer estas capacidades.

Nota: este post es una traducción de este artículo.

¿Qué es Velneo?

Velneo sirve para desarrollar aplicaciones de gestión empresarial que pueden desarrollarse y ejecutarse en Web, Windows, Linux, macOS, iOS o Android sin tener que adaptarlas a cada plataforma. Permite gestionar bases de datos de gran tamaño y su despliegue puede hacerse en local o en el Cloud sin mayor complejidad.

Dejar un comentario