What you (really) can/can’t do with Bubble.io

Since its beginning in 2012, Bubble has never stopped making its low-code platform evolve and refining its features, largely thanks to the many feedback the team gathered from the community.

Today, Bubble is a full-stack platform that supports large and complex software projects.

As a Bubble agency, we are often asked questions on the capabilities of the platform.

The list below describes honestly what you can/can’t do with Bubble technology (so far) so you can validate if it is the most suitable platform for your project needs.

✔️ Build (responsive) web apps

Bubble is one of the most advanced visual programming environment to build robust web apps. Either you want to create a desktop or responsive web application that fits any screen size, you can (probably) do it with Bubble.

Typical examples of applications that can be greatly built on Bubble are social networks, software as a service products (SaaS) or marketplaces.

Bubble editor offers a wide flexibility that allows experienced developers to achieve pixel-perfect products with complex designs and responsive requirements.

✔️ Build (hybrid) mobile apps

To date, Bubble does not offer an out-of-the-box solution for native applications. While this project seems to be planned in their long-term roadmap, it is still possible to build hybrid mobile apps with Bubble editor by wrapping web applications and publishing to the stores.

Hybrid apps offer a great advantage for developers who wish to update their app frequently as it is not necessary to resubmit the new version. Additionally, as hybrid mobile apps are powered by web technologies, they can be deployed across both Android and Apple stores easier thus reducing development time and costs.

Honestly, unless your project requires deep native features (such as internal memory storage, online/offline synchro), hybrid mobile apps that “feel” native should do the work on most cases.

✔️ Run custom code

No-code native capabilities of Bubble platform are impressive. Indeed, Bubble provides a lot of native features to build powerful web applications. But in some cases, visual language is not the most adapted way to build a feature or achieve a specific action. Sometimes, it can be necessary to extend features by creating custom elements and actions on top of Bubble capabilities.

Most of no-code tools do not allow to extend capabilities with traditional lines of code. Bubble stands out on this point: it allows developers to run custom code to extend their app when they come across a limitation.

Thus, developers can create plugins to write and run custom (Javascript) code inside the applications. That said, there is small chance you hit a hard limit in your projects. That’s why we prefer referring to Bubble as a Low-Code platform, because it is possible to add code to enhance your app.

✔️ Connect to external services and hardware through APIs

Sometimes, applications need to collect data from external sources or trigger some actions (for instance fetching social account data, sending a transactional email or reading temperature from a sensor). Bubble platform offers a powerful tool, the API connector, to link applications to external software systems or hardware devices. Technically, you can almost connect to everything through APIs, such as an AI-powered engine to classify a massive set of images or controlling an IoT device.

✔️ Connect to external databases

By default, application data is read and stored on AWS servers. Bubble editor provides a tool, the SQL Database Connector, that allows developers to connect applications to external databases and run SQL queries from within Bubble.

✔️ Scale the app as the business grows

Scalability is a regular concern. Many founders wonder if Bubble engine will be enough powerful to support the scale up of their app.

First thing to consider, performance and scaling capabilities are highly impacted by how the app is built and optimized on Bubble editor. Because Bubble is a programming tool like any other technology, developers need to follow good practices to ensure decent performances and provide good experience to end-users. In other words, it requires a well designed database model, optimized logic and database queries, and functional user experience.

On the other side, Bubble team is working hard on scalability and performance improvements and offer various (affordable) hosting plans to suit application performance needs. By default, your Bubble app share the same computing resources with all other Bubble apps (on Hobby and Personal hosting plans). On superior plans, you can have more capacity (that means that the app can do more actions in a given period when it is necessary).

If needed, Bubble team offers dedicated plans to their clients. In that case, you benefit from an infrastructure, always running on AWS server, but isolated from other Bubble apps that lead to increased reliability and scalability.

Bubble is an affordable solution to start a software project with limited computing needs. When it becomes necessary, it is easy to scale the infrastructure of your app, for a fair price.

✔️ Manage data access and privacy

Bubble is an extremely open-ended platform compared to other no-code tools. That said, there are endless ways to develop an application on Bubble, sometimes with bad habits. By default, all data is open to the public when you create a Bubble app. However, Bubble editor offers some tools to configure data access in your app. Indeed, privacy rules gives the power to protect information and make sure it is safe.

❌ Build native apps

Bubble platform does not provide a specific engine so far to build and deploy native apps on application stores. Whereas this is something that should be implemented in a mid/long-term, it is still possible to deploy hybrid mobile apps on stores with some techniques and work arounds.

So, unless your project requires deep native features (such as internal memory storage, online/offline synchro), hybrid mobile apps that “feel” native should do the work on most cases.

❌ Host an app on a private or on-premise server

Bubble provides the hosting for their customers on Amazon Web Services (AWS) cloud servers or dedicated instances. Currently, it is not possible to self host a Bubble app on a private hosting service or on-premise server.

That said, Cloud computing is becoming the norm and AWS is recognized as the leading cloud provider (>50% market share), in terms of performance and security.

❌ Execute other languages than Javascript

It is true that Bubble developers can extend features of an application with custom code. But only Javascript language is supported.

The core engine of Bubble is written in Javascript language. To date, developers will only be able to use Javascript to build custom integrations on top of Bubble.

❌ Develop complex algorithms

Bubble’s visual language is not the most appropriate tool to develop complex algorithms especially recursive or looping operations on data. As a better option, developers can use or write custom algorithms outside Bubble (hosted on Amazon Lambda for example) and use them by passing the data through an API (for instance a machine-learning algorithm).

❌ Create (advanced) video games

Don’t expect to create and run complex 3D or platform games with Bubble engine… even though some smart Bubble users have managed to create little games that are worth the try such as The Legend of Zeldinia by J805 or Pizza Mania by Landowski.

❌ Export code

Bubble apps can only be run on the Bubble platform. This proprietary model is justified by Bubble’s business model. Thus, you can not export an application as code. If you decide to move away from Bubble platform, you’ll have to rebuild the (no-code) application logic. You will only be able to export the application data and the custom code you added on top of Bubble.

Question to think about is: why would you need to move off Bubble?