en Tecnología

Programar sin escribir una sola línea de código: No-Code

El futuro en el que cualquier persona sea capaz de programar probablemente nunca llegue. Y siendo realistas, aunque tuviéramos unas bases mínimas en alguno de estos lenguajes casi omnipresentes, como Python o JavaScript, no sería suficiente para lanzarse a construir una app o una web desde cero. En el mejor de los casos conseguiremos hacer unos bonitos pet project, más cercanos a una práctica de universidad que algo sobre lo que construir un negocio o sostener el flujo de trabajo de tu empresa.

Dentro de la industria del desarrollo software crecen cada vez más las herramientas No-Code y Low-Code. Sin tirar ni una sola línea de código, ayudan a arrancar algo bastante decente. No necesitar saber programar para crear aplicaciones es una idea muy atractiva.

No necesitar saber programar para crear aplicaciones es una idea muy atractiva.

De hecho, muchas compañías ya las están empleando actualmente en sus aplicaciones internas o creando procesos automáticos que no podrían permitirse de otro modo. Básicamente porque no cuentan con el capital laboral suficiente (desarrolladores y diseñadores de interacción) o porque aún son pruebas de concepto en el más puro estilo bootstrapping

Plataformas SaaS para prototipar, construir y automatizar en la nube sin tirar una línea de código

Este tipo de herramientas SaaS son interfaces visuales que utilizan componentes ya creados, conectados entre sí y fácilmente reutilizables. Nos permiten construir flujos basados en acciones de usuario, o en ciertas reglas previamente definidas.

Generalmente, el camino que se suele seguir es crear un experimento tipo prototipo, probarlo y, finalmente, distribuirlo a los usuarios finales (deploy). Más tarde seremos capaces de pensar si graduar ese experimento a algo dentro de nuestro propio stack tecnológico implicando a los desarrolladores. Mientras tanto podemos seguir usando estos third parties como si fuera nuestro propio sistema.

Podemos encontrar diferentes plataformas integradas en el negocio de muchas compañías como puede ser un Typeform para crear un formulario vitaminado, y perfectamente segmentado, que después exportemos a un Google Spreadsheet, AirTable o incluso analizamos en algún proceso de machine learning en la nube.

Flujo de eventos para automatizar con Zapier

Por otro lado, la automatización se ha abierto camino con fuerza usando Zapier o IFTTT para que cuando cualquier trigger (evento) realice ciertas acciones como: Enviar un email por Mailchimp o Twilio, guardar un fichero multimedia, actualizar unas gráficas en un dashboard con Google Spreadsheet, etc.

Los ejemplos anteriormente mencionados son plataformas SaaS que permiten hacer diversas acciones o procesos que hasta ahora necesitarían una infraestructura de servicios difícil de configurar y nada rentable para una pequeña empresa. De hecho, el modelo de negocio de estas plataformas se centra en ofrecer servicios cada vez más personalizados sin necesidad de integrar ni una sola línea de código. Simplemente, ofreciendo decenas de integraciones a otros servicios que sirvan de fuente de datos o de canal de comunicación con el usuario final.

Todos tenemos ya muy interiorizados que la mayoría de webs o aplicaciones están alojadas en la nube, ya sean en Google Cloud, AWS o Azure de Microsoft, por ejemplo. Ahora bien, también tenemos que tener en la mente que todos esos procesos asociados proceden de otros servicios SaaS. Todos los correos electrónicos, SMS o Push Notifications que recibimos como usuarios procede de Mailchimp, Salesforce, Twilio, Amazon SNS, etc. 

Tampoco las acciones que han originado el envío de esas comunicaciones han necesitado en la mayor parte de los casos ni un par de líneas de código ni complejas colas de eventos. Muchos de ellos proceden de servicios como Firebase o AWS, por ejemplo, capaces de generar audiencias basadas en las herramientas de analíticas asociadas. Aunque si necesitamos algo muy específico tenemos la posibilidad de incluir pequeños scripts o fragmentos de código en la nube como Cloud Functions o Lambdas.

¿Qué diferencia a las herramientas No-Code de las Low-Code?

Es importante hacer una clara diferenciación sobre que No-Code y Low-Code no es lo mismo. En el caso de las plataformas Low-Code necesitamos un mínimo de conocimientos de programación. En cambio, en No-Code básicamente nos movemos con interfaces visuales y no veremos, salvo que queramos algo avanzando, una línea de código.

No-Code se centra en describir en «Qué» tiene que ver el usuario

Low-Code es un empujón tremendo para programadores con menos conocimientos e, incluso, una excelente forma de lanzar algo rápido para programadores más avanzados que puedan trabajar sobre ello más adelante, creando integraciones con código más complejo. Es también una progresión natural en el dominio del desarrollo de software donde los lenguajes cada vez son más abstractos añadiendo capas y capas para centrarse más en el qué queremos hacer que en el cómo.

En el caso de no-code nos centramos en el sentido de qué queremos que el usuario vea. Así de forma abstracta las herramientas pueden crear, según nuestras indicaciones, las interfaces visuales multiplataformas de nuestra idea. Ya sea una app web, nativa o incluso un intercambio de mensajes por slack o por alguno de los asistentes de voz.

«El concepto low-code no es algo que no hayamos visto antes, sino que es más bien de la época de los años 90«. Así lo describían recientemente en un artículo en Spectrum IEEE. Podemos recordar esas herramientas CASE y ese vetusto framework de Microsoft Visual Basic que muchos aún recordarán. Ahora mismo, hay herramientas que intentan emular este planteamiento aunque salvando las diferencias como son las Power Apps de Microsoft, Oracle Visual Builder o Salesforce Lightning Platform. Incluso Google hizo una adquisición reciente como AppSheet, una plataforma no-code para crear apps móviles. 

Una de las herramientas de desarrollo web que más están pegando fuerte es Webflow capaz de crear complejas webs sin apenas poner un par de líneas. Es como dicen sus creadores “el Photoshop del desarrollo front”, puedes diseñar qué van a ver los usuarios simplemente arrastrando componentes, conectando flujos y reutilizando todo lo que la plataforma te provee. Sin olvidar las integraciones externas que más complejidad supondría. Podéis ver en su web decenas de tutoriales al respecto.

Los tres elementos fundamentales de una plataforma No-Code

En definitiva, este tipo de plataformas No-Code tienen que tener los siguientes elementos para permitir ese empoderamientos de los usuarios sin la necesidad de escribir una sola línea de código.

User Interface Builder

Webflow es un buen ejemplo, trabajaremos con un conjunto de componentes ya definidos a través de una vistosa interfaz visual más cercana a una herramienta de diseño que de programación. Funciona simplemente arrastrarlo y posicionado donde queramos que se muestre el elemento al usuario. Ya sea una caja con un párrafo, un par de imágenes, un formulario o un layout dinámico que dependa de una API que nos provea los datos. Podemos combinar todos esos elementos y reutilizarlos en cada pantalla.

Visual Modeling

Aparte de arrastrar y soltar elementos sobre un layout tenemos que definir pasos, flujos y relaciones entre los elementos. Incluso crear una jerarquía entre los componentes y los modelos de datos. Por lo que la mayoría de estas herramientas permiten visualizar y configurar por medio de diagramas la relación entre los elementos.

Integraciones

Es fundamental que nuestras aplicaciones se comuniquen con otras herramientas, sobre todo esas herramientas SaaS que mencionamos al principio para automatizar el proceso o comunicarse con el usuario.

¿Por dónde empezar con estas herramientas de “programación” sin tirar una línea de código?

Lo primero que sería pensar algún proceso que podamos automatizar. De este modo, podemos empezar a familiarizarnos con herramientas de automatización como Zapier, IFTTT o Microsoft Flow. Creando unos flujos sencillos que, por ejemplo, consulten el email y escriban un registro en un spreadsheet, que disparen algún mensaje automático o integre un pequeño CMS que procese acciones dependiendo del estado en el que coloquemos cada uno de los elementos, por ejemplo. Ya sean los productos de una tienda virtual o en el board de email pendientes a clientes o contactos. Hay centenares de integración desde Gmail. YouTube, Spreadsheet, Drive, Dropbox, Salesforce, Stripe, redes sociales o hasta el envío de SMS, pushes o creación de bases de datos flexibles como Airtable

Hace poco descubrí la web de Codeless How dónde puedes ver pequeños tutoriales en vídeo de como crear un conjunto de integraciones que automaticen un montón de procesos como un calendar chatbot, un completo No-Code MVP, un personal Assistant, etc.. Todo ello usando las herramientas anteriores.

Tutorial de Codeless.how

Después intentaría explorar alguna de las herramientas que permitan crear una presencia digital, es decir, una web o una app. Aquí mis favoritos son Webflow, AppSheet y Microsoft Power Apps

Por supuesto, las plataformas No-Code no significan reemplazar completamente a los desarrolladores de software. Más bien, representan una evolución de las herramientas software del ecosistema que permiten empoderar a cada vez más personas en la cadena de construcción de software. Sobre todo, permitiendo centrar en lo más importante e iterar rápido con prototipos funcionales para valorar si una idea es factible antes de desarrollar por código o integrar en nuestro strack de producto.

Photo by Émile Perron on Unsplash

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.