Leemos un artículo muy interesante, en MuyComputerPro, sobre low-code, no-code y tecnologías de desarrollo inteligentes, como alternativa al desarrollo profesional. Queda patente que su uso va a seguir aumentando de forma sostenida, al menos hasta el año 2026. Su crecimiento queda enmarcado en el proceso de transformación digital que están viviendo las empresas (también las administraciones y otro tipo de organizaciones), con el acceso a software nativo cloud. Es decir, en la nube; pronto no será necesario descargarse casi ningún programa.
En muchas ocasiones pueden ser herramientas muy interesantes para el desarrollo de aplicaciones móviles o para el desarrollo y diseño web, aunque no sustituyan un trabajo a medida hecho por programadores y diseñadores. Pueden ser, eso sí, una opción muy interesante para complementar su trabajo. Y en circunstancias concretas pueden ser usadas por una persona con menos conocimientos técnicos.
¿Qué es Low-code? ¿Y No-code? ¿Hay diferencia?
En principio, y aunque a nadie se le escapa que la traducción literal no es la misma, ambos conceptos se refieren a lo mismo: programar sin código. Algunos expertos establecen la diferencia en que una plataforma low-code también da la opción de trabajar con código si se ve oportuno y, por lo tanto, están pensadas para profesionales. En este artículo de IBM dan una explicación muy completa. En muchos otros casos vamos a encontrarnos con que los términos se utilizan de forma indistinta.
Programar sin código supone, en teoría, que una persona sin conocimientos técnicos de programación puede crear un programa o una aplicación. Aunque el ejemplo más conocido y extendido se circunscribe al ámbito del diseño web, ya que plataformas como WordPress han permitido a muchos usuarios tener una página web o un blog sin “haber picado” ni una sola línea de código en su proyecto.
La mayoría de las plataformas de low-code o no-code se basan en dos pilares. Por un lado, en interfaces de uso muy intuitivas para el usuario, y por otro, en el concepto de “drag and drop”, es decir, arrastrar y soltar. Es posible, así, por ejemplo, diseñar una página web arrastrando módulos de contenido y colocarlos en el sitio que queremos, a la vez que previsualizamos el resultado final. El hecho de que, como hemos mencionado, hablemos de plataformas on line (en la nube) permite que el servicio se actualice de forma muy sencilla, desde el punto de vista del usuario.
También es habitual que las plataformas low-code o no-code ofrezcan plantillas predefinidas, en las que gran parte del trabajo (sea una web o una aplicación) ya está hecho, permitiendo una pequeña capa de personalización: textos, colores, eliminar o añadir nuevos módulos…
Ventajas y desventajas de la tecnología no-code
El propósito de examinar las ventajas y las desventajas de las plataformas no-code o low-code es poder habilitar al lector para responder la pregunta que probablemente se está haciendo de verdad: ¿y cuándo necesito un desarrollo a medida para mi proyecto?
Una ventaja evidente de programar sin código es el menor coste de la obtención del producto que necesitas. Tanto si asume el desarrollo una persona con escasos conocimientos técnicos, como si se encarga a un desarrollador profesional que basa su trabajo en gran medida en la utilización de plataformas low-code.
Rapidez y autonomía. Un proyecto llevado a cabo a través de una plataforma de no-code estará finalizado en un menor tiempo, incluso si lo realizan profesionales. La autonomía será máxima si cuentas con un trabajador, o varios, con el conocimiento necesario para llevar a cabo todo el desarrollo.
Este tipo de plataformas pueden presumir de tener un uso muy visual e intuitivo. Esto permite, una vez terminada la fase inicial del proyecto, introducir pequeños cambios con agilidad. También facilita que puedan colaborar varios profesionales en un mismo proyecto. Añadir también que el empleo de la inteligencia artificial y el machine learning traerá en el futuro mejoras en el desempeño de estas herramientas.
Entre sus desventajas estarían la falta de flexibilidad en la personalización del producto que obtienes. Muy especialmente si el trabajo se realiza con una plantilla predefinida como las que hemos mencionado. Tampoco sería extraño si en el futuro te encuentras una web o una aplicación similar a la tuya. Demasiado similar en ocasiones.
Desarrollo profesional de webs y aplicaciones
De todo lo dicho hasta ahora cualquier lector ha podido sacar ya varias conclusiones. La más obvia es que las desventajas de las plataformas no-code son solucionadas con un desarrollo a medida.
También hemos comentado que algunas de estas plataformas, aquí entra el matiz diferencial del low-code, están pensadas para ser usadas por profesionales. Pueden trabajar más rápido si empiezan el proyecto sin la necesidad de programar, pero después tienen la opción de hacer modificaciones, empleando código, para responder a las peticiones del cliente.
En este artículo de IEBS podemos encontrar un listado de plataformas low-code, como por ejemplo OutSystems, Appian o Zoho Creator. En muchos de los casos, sólo una persona con conocimientos de programación va a sacar el máximo rendimiento a este tipo de herramientas.
Los desarrolladores profesionales van a obtener, además de las ya citadas, ventajas adicionales que no están al alcance de una persona sin conocimientos técnicos. Una de ellas es poder avanzar más rápido en la fase inicial de los proyectos para poder centrarse en las mejoras específicas que se requieran. Serán más productivos y ágiles. Y aprenderán del trabajo realizado aprovechando innovaciones obtenidas en proyectos futuros (escalabilidad). Muchas de estas plataformas permiten también que el desarrollo sirva para diferentes tipos de software o sistemas operativos. Y que funcione en todo tipo de dispositivos.
Obviamente, a un desarrollador profesional vas a poder encargarle que cree tu aplicación o tu web desde cero. Vas a poder pedirle cualquier funcionalidad que te pase por la cabeza, para que el producto final se ajuste al máximo a tus necesidades. La flexibilidad será, por tanto, máxima. Esto es imprescindible si quieres, por ejemplo, una aplicación muy específica.
Un profesional te podrá aconsejar si tienes dudas al respecto y podrás participar de una forma activa en el desarrollo de tu producto. Piensa que esa app o esa web va a ser tuya, y solo tuya, o de tu empresa.
En un desarrollo profesional o a medida, el equipo responsable tiene un control total del resultado y de los progresos, ya que todo el código es fruto de su trabajo. Estamos hablando, lógicamente, de personas con un nivel de programación muy alto.
Otra ventaja añadida de contar con profesionales es el soporte técnico y el mantenimiento de tu app o tu website. Esto incluye la resolución de incidencias, de mayor o menor importancia, que vayan surgiendo en el día a día. Y también la actualización de la aplicación o la web, adaptándolas a los nuevos requerimientos de los sistemas operativos y los navegadores. O simplemente añadiendo cambios y mejoras que solicita la empresa, es el dueño del producto o servicio entregado, o que les demandan sus usuarios.