Desde sus inicios en 2012, Bubble no ha dejado de hacer evolucionar su plataforma de bajo código y de perfeccionar sus características, en gran parte gracias a los numerosos comentarios que el equipo ha recogido de la comunidad.
Hoy en día, Bubble es una plataforma full-stack que soporta proyectos de software grandes y complejos.
Como agencia de Bubble, a menudo nos hacen preguntas sobre las capacidades de la plataforma.
La siguiente lista describe honestamente lo que puedes/no puedes hacer con la tecnología de Bubble (hasta ahora) para que puedas validar si es la plataforma más adecuada para las necesidades de tu proyecto.
Bubble es uno de los entornos de programación visual más avanzados para construir aplicaciones web robustas. Tanto si quieres crear una aplicación de escritorio como una aplicación web responsive que se adapte a cualquier tamaño de pantalla, puedes (probablemente) hacerlo con Bubble.
Ejemplos típicos de aplicaciones que se pueden construir en gran medida sobre Bubble son las redes sociales, los productos de software como servicio (SaaS) o los marketplaces.
El editor de Bubble ofrece una amplia flexibilidad que permite a los desarrolladores experimentados conseguir productos pixelados con diseños complejos y requisitos responsivos.
- ✔️ Construir aplicaciones web progresivas (PWA)
- ✔️ Build hybrid mobile apps
- ✔️ Ejecutar código personalizado
- ✔️ Conectar con servicios externos y hardware a través de APIs
- ✔️ Conectar con bases de datos externas
- ✔️Escalar la app a medida que el negocio crece
- ✔️ Gestiona el acceso a los datos y la privacidad
- ❌ Construir aplicaciones nativas
- ❌ Alojar una aplicación en un servidor privado o local
- ❌ Ejecutar otros lenguajes además de Javascript
- ❌ Desarrollar algoritmos complejos
- ❌ Crear videojuegos (avanzados)
- ❌ Exportar código
✔️ Construir aplicaciones web progresivas (PWA)
Como ya introdujimos la noticia en nuestro último artículo de Medium, nuestro equipo ha construido una aplicación web instalable (PWA) sobre la plataforma Bubble. Básicamente, se trata de un clon minimalista de la app Uber, desplegado en días con una mezcla 100% No-Code + Code.
Las Aplicaciones Web Progresivas (PWAs) traen las características de las apps nativas a través de la web y tienen muchos beneficios:
- Las PWAs son fácilmente instalables (1-click con dispositivos Android), haciéndola accesible desde la pantalla de inicio como cualquier otra aplicación. Esto es extremadamente beneficioso para las nuevas empresas o compañías que buscan ahorrar el coste de desarrollar una aplicación móvil nativa tanto para Android como para iOS. Además, no se necesitará una afiliación al Programa de Desarrolladores de Apple.
- Las actualizaciones y el mantenimiento manual de las aplicaciones son cosa del pasado con las PWA. Dado que las aplicaciones son servidas por un navegador web, no hay necesidad de actualizar la aplicación manualmente a través de una tienda de aplicaciones o de activar una configuración para actualizar la aplicación automáticamente.
- Las PWAs son de pequeño tamaño en comparación con sus homólogas nativas. Las PWA permiten a los usuarios añadirlas sin problemas a su pantalla de inicio, y como el tamaño de la aplicación es mínimo, no hay tiempo de espera para que el usuario inicie/continúe utilizando una PWA.
- Las PWAs son geniales para el SEO y aportan más independencia de las tiendas de aplicaciones (riesgo de baneo, altas comisiones por pagos in-app…).
Honestamente, a menos que tu proyecto requiera características nativas profundas (consulta una lista completa de las características disponibles en tu navegador web actual aquí: ttps://whatwebcando.today/), las web apps y PWAs que se «sienten» nativas deberían hacer el trabajo en la mayoría de los casos.
Es bueno saber que siempre es posible transformar una web app o PWA en una aplicación híbrida, lo que permite desplegarla fácilmente en las tiendas de aplicaciones (Android Play Store y Apple Store).
✔️ Build hybrid mobile apps
Hasta la fecha, Bubble no ofrece una solución out-of-the-box para aplicaciones nativas. Aunque este proyecto parece estar previsto en su hoja de ruta a largo plazo, todavía es posible crear apps móviles híbridas con el editor Bubble envolviendo aplicaciones web y publicándolas en las tiendas.
Las apps híbridas ofrecen una gran ventaja para los desarrolladores que desean actualizar su app con frecuencia, ya que no es necesario volver a presentar la nueva versión. Además, como las aplicaciones móviles híbridas se basan en tecnologías web, pueden desplegarse en las tiendas de Android y Apple más fácilmente, reduciendo así el tiempo y los costes de desarrollo.
Además, las aplicaciones móviles híbridas proporcionan acceso a más permisos y funciones nativas que las aplicaciones web y las PWA (como Contactos, Biometría & Inicio de sesión inteligente…).
Existe un excelente plugin para transformar aplicaciones web optimizadas en aplicaciones nativas: BDK Native de Gaurav Jain.
✔️ Ejecutar código personalizado
Las capacidades nativas sin código de la plataforma Bubble son impresionantes. De hecho, Bubble proporciona un montón de características nativas para construir potentes aplicaciones web. Pero en algunos casos, el lenguaje visual no es la forma más adaptada para construir una característica o lograr una acción específica. A veces, puede ser necesario ampliar las características mediante la creación de elementos y acciones personalizadas en la parte superior de las capacidades de Bubble.
La mayoría de las herramientas sin código no permiten ampliar las capacidades con líneas de código tradicionales. Bubble destaca en este punto: permite a los desarrolladores ejecutar código personalizado para ampliar su aplicación cuando se encuentran con una limitación.
Así, los desarrolladores pueden crear plugins para escribir y ejecutar código personalizado (Javascript) dentro de las aplicaciones. Dicho esto, hay pocas posibilidades de que te encuentres con un límite duro en tus proyectos. Por eso preferimos referirnos a Bubble como una plataforma Low-Code, porque es posible añadir código para mejorar tu aplicación.
✔️ Conectar con servicios externos y hardware a través de APIs
A veces, las aplicaciones necesitan recoger datos de fuentes externas o desencadenar algunas acciones (por ejemplo, obtener datos de cuentas sociales, enviar un correo electrónico transaccional o leer la temperatura de un sensor). La plataforma Bubble ofrece una potente herramienta, el conector API, para enlazar las aplicaciones con sistemas de software o dispositivos de hardware externos. Técnicamente, casi se puede conectar con todo a través de las API, como un motor impulsado por la IA para clasificar un conjunto masivo de imágenes o controlar un dispositivo IoT.
✔️ Conectar con bases de datos externas
Por defecto, los datos de las aplicaciones se leen y almacenan en los servidores de AWS. El editor de Bubble proporciona una herramienta, el conector de bases de datos SQL, que permite a los desarrolladores conectar las aplicaciones a bases de datos externas y ejecutar consultas SQL desde Bubble.
✔️Escalar la app a medida que el negocio crece
La escalabilidad es una preocupación habitual. Muchos fundadores se preguntan si el motor de Bubble será lo suficientemente potente como para soportar el escalado de su app.
Lo primero que hay que tener en cuenta es que el rendimiento y la capacidad de escalado se ven muy afectados por cómo se construye y optimiza la app en el editor de Bubble. Dado que Bubble es una herramienta de programación como cualquier otra tecnología, los desarrolladores deben seguir buenas prácticas para garantizar un rendimiento decente y proporcionar una buena experiencia a los usuarios finales. En otras palabras, se requiere un modelo de base de datos bien diseñado, una lógica optimizada y consultas a la base de datos, y una experiencia de usuario funcional.
Por otro lado, el equipo de Bubble está trabajando duro en las mejoras de escalabilidad y rendimiento y ofrece varios planes de alojamiento (asequibles) para adaptarse a las necesidades de rendimiento de la aplicación. Por defecto, tu aplicación Bubble comparte los mismos recursos informáticos con todas las demás aplicaciones Bubble (en los planes de alojamiento Hobby y Personal). En los planes superiores, puede tener más capacidad (lo que significa que la aplicación puede realizar más acciones en un periodo determinado cuando sea necesario).
Si es necesario, el equipo de Bubble ofrece planes dedicados a sus clientes. En ese caso, usted se beneficia de una infraestructura, que siempre se ejecuta en el servidor de AWS, pero aislado de otras aplicaciones de Bubble que conducen a una mayor fiabilidad y escalabilidad.
Bubble es una solución asequible para iniciar un proyecto de software con necesidades informáticas limitadas. Cuando sea necesario, es fácil escalar la infraestructura de tu app, por un precio justo.
✔️ Gestiona el acceso a los datos y la privacidad
Bubble es una plataforma extremadamente abierta en comparación con otras herramientas sin código. Dicho esto, hay infinitas maneras de desarrollar una aplicación en Bubble, a veces con malos hábitos. Por defecto, todos los datos están abiertos al público cuando se crea una aplicación en Bubble. Sin embargo, el editor de Bubble ofrece algunas herramientas para configurar el acceso a los datos en tu app. De hecho, las reglas de privacidad dan el poder de proteger la información y asegurarse de que es segura.
❌ Construir aplicaciones nativas
La plataforma de Bubble no proporciona un motor específico hasta ahora para construir y desplegar aplicaciones nativas en las tiendas de aplicaciones. Aunque esto es algo que debería implementarse a medio/largo plazo, todavía es posible crear PWA móviles o desplegar aplicaciones móviles híbridas en las tiendas con algunas técnicas y soluciones (véase más arriba).
❌ Alojar una aplicación en un servidor privado o local
Bubble proporciona el alojamiento para sus clientes en servidores en la nube de Amazon Web Services (AWS) o en instancias dedicadas. Actualmente, no es posible autoalojar una app de Bubble en un servicio de alojamiento privado o en un servidor on-premise.
Dicho esto, la computación en la nube se está convirtiendo en la norma y AWS es reconocido como el principal proveedor de la nube (>50% de cuota de mercado), en términos de rendimiento y seguridad.
❌ Ejecutar otros lenguajes además de Javascript
Es cierto que los desarrolladores de Bubble pueden ampliar las características de una aplicación con código personalizado. Pero sólo se soporta el lenguaje Javascript.
El motor central de Bubble está escrito en lenguaje Javascript. Hasta la fecha, los desarrolladores sólo podrán utilizar Javascript para construir integraciones personalizadas sobre Bubble.
❌ Desarrollar algoritmos complejos
El lenguaje visual de Bubble no es la herramienta más adecuada para desarrollar algoritmos complejos especialmente operaciones recursivas o de bucle sobre datos. Como mejor opción, los desarrolladores pueden utilizar o escribir algoritmos personalizados fuera de Bubble (alojados en Amazon Lambda por ejemplo) y utilizarlos pasando los datos a través de una API (por ejemplo un algoritmo de aprendizaje automático).
❌ Crear videojuegos (avanzados)
No esperes crear y ejecutar complejos juegos 3D o de plataformas con el motor de Bubble… aunque algunos usuarios inteligentes de Bubble han conseguido crear pequeños juegos que merecen la pena como The Legend of Zeldinia de J805 o Pizza Mania de Landowski.
❌ Exportar código
Las apps de Bubble solo pueden ejecutarse en la plataforma de Bubble. Este modelo propietario se justifica por el modelo de negocio de Bubble. Por lo tanto, no se puede exportar una aplicación como código. Si decides alejarte de la plataforma Bubble, tendrás que reconstruir la lógica de la aplicación (sin código). Sólo podrás exportar los datos de la aplicación y el código personalizado que hayas añadido encima de Bubble.
Pregunta para pensar es: ¿por qué necesitarías salir de Bubble?