Hablar con tu tecnología moderna nunca ha sido tan fácil, ahora que puedes hablar literalmente a un Alexa o Google Home y que un programa basado en la nube reconozca tu discurso. Pero durante mucho tiempo, «hablar» con tu ordenador requería que aprendieras su lenguaje: un lenguaje de programación. La mayoría de los lenguajes de programación se basan en el texto, lo que permite a los programadores escribir comandos, extraer información y compartir esa información con sus ordenadores.
Cuando describimos la «programación visual», nos referimos en general a las formas de «hablar» con nuestros ordenadores modernos con gráficos e imágenes, en lugar de puramente texto. La programación visual existe desde hace décadas y representa otra capa de abstracción del lenguaje de máquina que nuestros ordenadores utilizan cuando se comunican entre sí.
El objetivo principal de la primera programación visual era facilitar la interacción con el ordenador. Después de todo, las primeras interfaces gráficas de usuario (GUI) ofrecían una experiencia mucho más fácil que la de escribir líneas en una ventana de terminal, hasta el punto de que la mayoría de la gente hoy en día compra un «Mac» o un «PC» y ni siquiera piensa en sus ordenadores como algo distinto de sus sistemas operativos visuales.
Al principio, la programación visual para la creación de interfaces de usuario era algo sencillo. Hoy en día, hay muchas herramientas visuales sofisticadas de desarrollo web como Wix o Squarespace para la creación de sitios web y herramientas de diseño como Figma y Sketch para la creación de prototipos.
Pero para la construcción de la lógica computacional, como lo que podría encontrar en una aplicación web compleja, el valor de la programación visual ha sido controvertido. Los escépticos argumentarán que es casi imposible que la lógica de la programación visual compita con la potencia de un lenguaje basado en scripts. Los lenguajes de programación visual no se han acercado a la popularidad de los lenguajes de scripting para la construcción de la lógica de back-end… hasta quizás hoy.
Entra: Bubble. Bubble es una plataforma de desarrollo de aplicaciones web «sin código» que comenzó en 2012. A primera vista, Bubble comparte muchas similitudes con las herramientas visuales de construcción de UI para sitios web y prototipos mencionadas anteriormente. Pero Bubble es, en su esencia, un verdadero lenguaje de programación visual – con toda la potencia para crear la lógica de sofisticadas herramientas web como marcos de programación basados en texto como React o Flask.
Para entender cómo surgieron las plataformas de desarrollo web visual como Bubble, estamos echando un vistazo a la historia de la programación basada en lo visual – y cómo la siguiente fase en la evolución del código podría ser realmente «sin código.»
La primera programación «visual»: los lenguajes gráficos de los años 70 y Basic
En los años 60 y 70, ya se experimentaba con representaciones gráficas de la lógica en forma de sistemas basados en diagramas de flujo como Pygmalion y GRaIL (Graphical Input Language). Estos primeros lenguajes visuales intentaron el importante esfuerzo de conseguir que las acciones de la máquina se mapearan en un conjunto de imágenes relacionadas. Pero no fue hasta principios de la década de 1990, después de que los ordenadores tuvieran interfaces gráficas decentes, cuando la programación visual empezó a despegar.
Cuando se piensa en el concepto «programación visual», lo primero que puede venir a la mente es Visual Basic, un producto de Microsoft que se lanzó por primera vez en 1991. Visual Basic permite crear nuevas aplicaciones desplazándose por bloques de código y creando diagramas o diagramas de flujo, e incluye herramientas como un depurador y un editor de código fuente. Pero Visual Basic es más bien un entorno de desarrollo integrado (IDE), en el que un lenguaje de programación basado en texto (Basic) se combina con otras herramientas visuales para facilitar el trabajo con el código. Visual C y Visual Java son entornos de desarrollo visuales similares para sus respectivos lenguajes de programación.
Los IDE son un paso importante para entender cómo la programación puede hacerse puramente visual. Uno de los fundadores de Bubble, Josh Haas, se inspiró en Visual Basic cuando empezó a crear Bubble en 2012. Describe el desarrollo inicial de Bubble como el resultado de «si empezaras con un IDE antes de construir el lenguaje de programación debajo de él».
Aunque en su núcleo, los IDEs como Visual Basic siguen trabajando con lenguajes basados en texto, las herramientas que utilizaron para hacer la codificación menos dolorosa son enormemente importantes para la experiencia de la programación visual moderna.
La programación visual como herramienta educativa
Los lenguajes de programación visual han brillado como herramientas educativas para enseñar a los nuevos codificadores a pensar de forma lógica. Scratch, desarrollado por el Laboratorio de Medios del MIT en 2002, es probablemente el mejor ejemplo de un lenguaje de programación visual con sintaxis basada en
«bloques». Scratch se hizo bastante popular, con más de 57 millones de usuarios y aplicaciones. Algunos creadores de aplicaciones modernas sin código, como Thunkable, se han inspirado en Scratch y en otros diseños basados en bloques.
Scratch está dirigido principalmente a los niños que están aprendiendo a programar, con su simpático tigre y sus coloridos bloques que se enlazan para formar frases lógicas que ejecutan acciones. Pero si se profundiza en ello, los sistemas basados en bloques presentan algunos defectos evidentes a la hora de representar la lógica compleja; a menudo se acaban obteniendo diagramas desordenados que son incluso más difíciles de entender que el código basado en texto.
Y los sistemas de lógica basados en diagramas de flujo, como los primeros lenguajes de programación visual, no van mucho mejor, con flechas recursivas y líneas que cruzan una página y que resultan más dolorosas de ver que las pulcras líneas de script.
No vamos a profundizar en el debate psicológico sobre si el texto o los elementos visuales son más comprensibles para el cerebro humano; eso es en gran medida subjetivo y personal. Pero se puede argumentar que la popularidad de los lenguajes de programación basados en texto se debe en gran medida a la tradición (Unix y Linux como paradigmas fundacionales basados en texto) y a la comodidad para el creador del lenguaje, no para los usuarios del mismo. Al fin y al cabo, la mayoría de los lenguajes de programación se basan en el inglés, y hay miles de millones de personas en todo el mundo que no hablan ni escriben en inglés. Sin embargo, esperamos que lo hagan para crear tecnología.
Aquí, la programación visual tiene la oportunidad de salvar las distancias y ayudar a la gente a aprender el lenguaje de la tecnología de una manera diferente. Scratch, por ejemplo, se ha traducido a más de 70 idiomas para que los jóvenes puedan programar en su lengua materna.
Sin embargo, el relativo éxito de Scratch también puede haber cargado a la programación visual con la reputación de ser una herramienta para principiantes, un trampolín hacia el mundo de la «programación real», en el que se prescinde de las bonitas imágenes y se pasa el tiempo agonizando sobre paréntesis y comas.
Pero hacer algo «más simple» no tiene por qué hacerlo menos potente. ¿Por qué invertimos en que nuestros hijos aprendan visualmente sólo para insistir cuando crecen en que den prioridad al mundo del lenguaje verbal? ¿Y si existiera un lenguaje de programación visual que se esforzara por ser lo suficientemente sencillo para ser comprensible pero lo suficientemente potente para ser útil fuera del aula?
El auge de las plataformas «sin código» de Bubble &: Programación visual para aplicaciones web
Bubble es nuestra respuesta a la pregunta de cómo un lenguaje de programación visual moderno puede cumplir la promesa de facilitar la creación y construcción de tecnología sofisticada. Bubble permite construir aplicaciones web, desde mercados como Airbnb hasta redes sociales como Twitter, sin necesidad de codificar. El resultado es que la gente es capaz de construir ideas de negocio reales en línea en una fracción del tiempo y el costo de desarrollo.
Relacionado: Vea las aplicaciones que los usuarios han construido en Bubble sin código.
El editor visual de Bubble se inspira en el diseño de la interfaz de usuario y las herramientas de desarrollo, con un enfoque de «lo que ves es lo que obtienes» para el desarrollo web. Pero el verdadero valor de Bubble está en su enfoque de la lógica que muchas otras plataformas carecen. Cuando Josh comenzó a trabajar en el sistema de flujo de trabajo de Bubble, insistió en la «simplicidad agresiva» para evitar las complicadas trampas de los antiguos lenguajes de diagramas de flujo y el desorden de los lenguajes basados en bloques.
El diseño del flujo de trabajo de Bubble está pensado para ayudarle a construir la lógica utilizando frases simples (por ejemplo, «Cuando un usuario hace x, enviar al usuario un correo electrónico»). Y mientras que se puede llegar a ser bastante complejo con las declaraciones y condicionales en las técnicas avanzadas de burbujeo, el lenguaje hace ciertas suposiciones acerca de las cosas básicas que usted querrá en una aplicación web (como: los usuarios, haciendo clic en torno a, inicio de sesión, registros) para simplificar la mayoría de las acciones básicas.
Los lenguajes informáticos diseñados para un uso específico, a diferencia de un propósito general, se conocen como lenguajes de dominio específico. Bubble puede describirse como un lenguaje de dominio específico para el diseño web, con el nivel de abstracción adecuado para facilitar el diseño de la interfaz de una aplicación y construir su lógica entre bastidores. Bubble ofrece las herramientas de diseño web para explicar los conceptos que quieres construir -un botón, una entrada, una barra de búsqueda- al nivel de vocabulario adecuado para tu ámbito de experiencia. Si estás construyendo una aplicación para restaurantes, creas tipos de datos para tu restaurante, menú, artículos de comida y/o clientes. Si quieres que un botón haga algo, sólo tienes que crear un elemento de botón y especificar lo que hace.
«Bubble permite a la gente crear tecnología utilizando su vocabulario, y no al revés», explica Josh.
Herramientas como Bubble se han clasificado bajo el término «sin código» o «bajo código», representando un movimiento que se aleja de los marcos basados en texto para el diseño web. Los primeros programas empresariales solían referirse al concepto como «desarrollo rápido de aplicaciones».
Pero no todas estas herramientas son iguales. Algunas herramientas sin código son mejores para las aplicaciones móviles nativas, otras son mejores para las páginas de aterrizaje y los sitios web sencillos, otras están adaptadas específicamente para los mercados con plantillas prefabricadas o modelos de aprendizaje automático. Bubble, con sus raíces como un lenguaje de programación visual integral, es una plataforma de creación de aplicaciones web más abierta y potente, con la capacidad de integrarse con miles de otras plataformas a través de nuestro Conector API.
La gente ha utilizado Bubble para resolver los problemas de sus startups y construir la versión ideal de sus negocios digitales. Algunos han llegado a recaudar millones de dólares en financiación de capital riesgo, y otros han creado sus propias carreras construyendo plantillas para Bubble o enseñando a otros a utilizar herramientas sin código. Los Bubblers con cierta formación técnica contribuyen a nuestro mercado de plugins, y las empresas de software que buscan más usuarios nos ayudan a crear nuevas integraciones personalizadas que facilitan a los usuarios que ya construyen con otras herramientas.
Bubble y el futuro de la programación visual
La misión de Bubble es facilitar a la gente la creación de negocios digitales de forma rápida y asequible, sin necesidad de codificar. En nuestra historia de origen, hablamos de cómo estamos abordando un problema muy antiguo en la tecnología, un problema que la programación visual temprana trató de resolver y fracasó: cómo hacer que la lógica sea visual y borrar la frontera entre el uso de la tecnología y la creación de la tecnología.
El enfoque de Bubble para la programación visual no está destinado actualmente a ser capaz de hacer todo lo que la tecnología puede hacer ahora o será capaz de hacer en el futuro. Bubble está construido para aplicaciones web. Aunque hemos descubierto que cosas como el diseño de juegos son cada vez más posibles en Bubble gracias a nuestros usuarios increíblemente talentosos, sabemos que hay otros programas específicamente creados y mejor equipados para tareas como la transmisión en vivo y el procesamiento de audio (pero que nos entusiasmará integrar en el futuro).
Lo que tenemos es la base para la posibilidad. Tenemos una comunidad con abundancia de creatividad, determinación y curiosidad auto-motivada, descubriendo nuevas formas de construir sin código. Tenemos una visión del futuro en la que las plataformas «sin código» no son una categoría propia de herramientas. En su lugar, la programación visual será simplemente la forma en que se hacen las aplicaciones web y otras tecnologías, porque tiene más sentido hacerlas de esa manera.
Acerca de Bubble
Bubble es un líder en el movimiento sin código. Bubble ofrece un potente editor web de apuntar y hacer clic y una plataforma de alojamiento en la nube que permite a los usuarios construir aplicaciones web y flujos de trabajo totalmente personalizables, que van desde simples prototipos hasta complejos mercados, productos SaaS y mucho más. Más de 500.000 usuarios están construyendo y lanzando negocios en Bubble – muchos han llegado a participar en los mejores programas de aceleración, como Y Combinator, e incluso a recaudar 365 millones de dólares en financiación de riesgo. Bubble es más que un producto. Somos una fuerte comunidad de constructores y emprendedores que están unidos por la creencia de que todo el mundo debería ser capaz de crear tecnología.