Puedes estar seguro que una tecnología está de moda cuando ves que todas las grandes empresas tecnológicas (las Big Five: Facebook, Amazon, Apple, Microsoft, Google) invierten y desarrollan sus propias soluciones para ella.

Y esto es exactamente lo que está pasando con el desarrollo de software dirigido por modelos, es decir el modelado de software a alto nivel más el uso de herramientas de generación de código que transforman ese modelo en la aplicación ejecutable. Esto es lo que hoy en día se conoce también como low-code o no-code, ya que el objetivo es minimizar la cantidad de código a escribir. Aunque funciona sobre todo para software empresarial (por decirlo así, más repetitivo y fácil de automatizar) también vimos ya como se podía usar para crear aplicaciones de Inteligencia Artificial sin programar.

Herramientas de generación de código ha habido muchas. La novedad es que ahora están llegando cada vez más al gran público de la mano de empresas tan populares como Microsoft, Google, Amazon, … que hasta ahora no habían invertido en este mercado. Veamos qué ofrece cada una de las Big 5 en este mercado.

Microsoft PowerApps

PowerApps es la solució no-code de Microsoft, dirigida a usuarios con un perfil más empresarial que técnico. Como ellos mismos dicen, “puedes empezar con tu modelo de datos y procesos de negocio y generar automáticamente aplicaciones responsive que corren en cualquier dispositivo con la ayuda de un simple entorno de diseño tipo drag-and-drop para configurar las clases del negocio”.

Genera aplicaciones completas a partir de tus datos

En mi opinión, PowerApps es más una interfaz fácil de usar dedicada a conectar servicios de Microsoft y intercambiar datos entre ellos. Más que suficiente para cubrir una amplia variedad de escenarios y las necesidades de muchos usuarios que sólo necesitan adaptar un poco las herramientas que ya están usando.

No olvidemos que Excel y Access se usan frecuentemente como herramientas de “desarrollo” (e incluso de modelado) en muchas empresas 🙂 .

Google App Maker

En pocas palabras, App Maker es como PowerApps pero para Google. Con App Maker puedes integrar fácilmente toda la variedad de servicios ofrecidos por Google. Puedes crear sin problemas aplicaciones de entrada de datos que utilicen la base de datos Google Cloud SQL usando las plantillas, y componentes visuales y primitivas para el modelado declarativo que App Maker proporciona para acelerar el proceso de desarrollo.

Imagen del App maker en acción

Apple – SwiftUI

Better Apps. Less code. Mejores apps, menos código. Así es como Apple define SwiftUI. Con SwiftUI puedes crear interfaces de usuario para cualquier dispositivo Apple usando una sintaxis puramente declarativa, componentes drag&drop y visualización de los cambios en tiempo real.

Sintaxis del lenguaje de Apple SwiftUI

Esta herramienta es más modesta que las de Google y Microsoft ya que se centra sólo en la parte de la interfaz pero muestra como ninguna empresa puede escaparse a esta tendencia a la democratización del desarrollo de software.

Facebook

Facebook es una empresa de un solo producto. No tiene sentido para Facebook invertir en un entorno de modelado para construir aplicaciones externas. En cambio, sí que como respuesta a sus propias necesidades en el campo del desarrollo de aplicaciones móviles, han creado su propio framework multi-plataforma para ser más eficientes en la creación y mantenimiento de su app. El framework, seguro que todos lo conocéis, no es otro que React Native . Con él, Facebook consigue proporcionar versiones “nativas” de sus apps para los distintos dispositivos móviles.

Generación de apps móviles nativas con React

Amazon

Reconozco que Amazon es un caso raro (pero seguid leyendo, a lo mejor no tanto). Con todos los servicios que ofrece nada les sería más útil que una manera fácil de combinarlos usando algún tipo de lenguaje gráfico. Por ejemplo, algo parecido a esta notación para describir el despliegue en Kubernetes tendría mucho sentido aquí. Pero no es el caso. Tienen alguna iniciativa para el diseño declarativo de interfaces (caso del Alexa Presentation Language) pero poco más.

Puede que se vean más como un proveedor de infraestructura básica donde la gente despliega las aplicaciones que ya ha modelado y generado fuera. De todas formas, sigo pensando que la situación cambiará más pronto que tarde y veremos algún tipo de solución low-code en Amazon (de hecho, corren ya rumores acerca de un proyecto “secreto” tipo AWS for everyone”).

Fijaros también que otra ventaja de estos productos es que su precio es más razonable que el precio de otras herramientas low-code, ya que su negocio no está tanto en el vender el entorno low-code si no en qué la gente entre en su ecosistema y empiece a usar sus servicios (y acaben pagando por ellos). La herramienta es otra manera de atraer y fidelizar usuarios, no el objetivo final.

Hasta aquí hemos hablado de las big 5 pero hay muchas otras grandes empresas que están invirtiendo, y mucho, en este tipo de herramientas. Por ejemplo, Oracle ha sido un jugador importante en este campo como anzuelo para conseguir clientes para sus bases de datos y el ecosistema Oracle alrededor de las mismas (Oracle Designer para Oracle Forms sería un buen ejemplo, más recientemente también han lanzado un Visual Builder for mobile apps para usuarios menos técnicos).