Whether you can build mobile apps with Bubble is one of the most-asked questions we get, and it’s not surprising. Most new projects we get involved in are either mobile-based or will expand to mobile at some point in the future, and end-users are expecting most platforms to have at least a working mobile version.
So let’s first separate between the two: on the one hand, we have a mobile version of an app, and on the other we have a bubble.io iPhone or bubble.io Android app – a native app that can be installed on your phone via Android Play Store or App Store.
Can I build a mobile version of my Bubble app?
Ok, so this one’s easy: yes you can, with no real restrictions. So to be clear on what we mean, a mobile version is simply a mobile-friendly or responsive website that will work just as well when you visit it from a cell phone as when you view it on desktop. Bubble supports full responsive design, and especially with the newly released Flexbox-based editor it’s easy to set up pixel-perfect responsive pages that scale down to mobile size. We’re not talking about a bubble.io mobile app template here, rather a design decision to keep all your pages responsive.
Additionally, Bubble supports automatic redirection to a mobile page while keeping the same URL if the User visits your site from a mobile device. This is useful if you prefer to have a different design for mobile visitors, but does require upkeep of two different pages and a bit more juggling to keep Google’s SEO algorithms happy.
Can I build a native iOS or apk (Android) mobile app with Bubble?
So to the real question: can you build native applications for iOS and Android with Bubble? The answer to this one is also yes – but with some limitations you need to be aware of before you make your decision. Yes, you can set up a Bubble application to be downloadable in both app stores, and to the User it will in many ways feel and behave like a native app. You can even get access to native features like using the on-device camera, biometric login, vibration and push notifications.
Will it really be a native application?
The first thing we’ll need to point out is that Bubble is a web app builder. A web app is a piece of software that lives in your browser. It doesn’t require installation, it’s available on any computer with an internet connection and your work is saved and encrypted in the cloud. In other words, you are building an app that’s meant to be executed in a browser. What you may not know is that Bubble relies on many of the browsers built-in features to run at all: rendering HTML/CSS, downloading resources, repainting the page when something changes and executing JavaScript (which Bubble runs on) are all tasks that the browser – not Bubble – does for you. In other words, moving the app outside of a browser is no small task.
This is where web wrappers (or WebView apps) come in. Think about it: browsers run on all platforms (Windows, Mac, Linux, iOS, Android), meaning that your Bubble app can also run on all platforms. A web wrapper is simply a full-screen browser that’s set up to only run URLs that you specify, hiding the URL bar and menus. A web wrapper can be set up as a separate application that’s downloadable in the app store, thus porting your app to these platforms without the User being aware that they’re actually downloading a browser that’s directed to your app’s URL. So what you’re getting is not an actual native Bubble.io iOS or APK app, but a hybrid – your native app is displaying your website, and as we dive into below, these apps can often connect your app to many of the device’s built-in features.
Can I get access to native features like the camera?
Several solutions exist for easily porting your app to mobile app stores, and increasingly they provide access to native features like the on-device camera, biometric login, deep linking, vibration and push notifications, making your application behave much like a native one.
One of the most feature-rich web wrappers is The BDK Native, which is built from the ground up specifically for Bubble and doesn’t require any more technical knowledge than building a Bubble app does. By installing a plugin, you’ll have access to native features without writing a line of code, and they can be run as regular workflows in the Bubble editor. BDK also offers features like native-looking page navigation, splash screens, loading animations and offline detection.
In-app purchases are also available, letting you use iOS and Android’s built-in payment systems (which one or both platforms may require, depending on the nature of your app).
What are the downsides of a web wrapper app built in Bubble?
As most web applications, Bubble apps are completely reliant on the server to run and even to render the page. While many native applications, such as Gmail or Apple Mail let you read and write as many emails as you want even when offline, and then sync the changes as soon as you have a connection, Bubble will not even be able to show the page, let alone let you manipulate data in any way.
Wrappers like BDK do have offline detection and let you inform your Users to some degree that they need to restore their internet connection, there’s no easy solution today for getting around Bubble’s dependence on being connected to the server at all times to function. While mobile devices are increasingly constantly connected in most places these days, this is still a pretty significant limitation.
Secondly, the reliance on the server and JavaScript for making visual changes on the page can make the rendering slightly more janky and the app may feel less responsive to clicks and other on-page actions than a native app would. We’re talking very small differences here, but enough to be perceivable.
Will I need to rebuild my app as a native one at some point?
One of the most frequent questions we get is whether Bubble is only good for building MVP’s or early versions of a product. This is by no means true by default – Bubble can handle production-level applications with thousands of Users just fine, as we write about in detail in our detailed review of Bubble.
On the mobile side, we’re a bit more careful in being so sure in our response: if your application will focus heavily on mobile Users, Bubble may fall short on your expectations as your app grows. It’s not the lack of features per se, but the lack of offline support and the general “feel” of the app that may make you want to rebuild it natively when you have the traction and idea validation you need to make that investment.
Still – building your first version in Bubble is a lot more cost-friendly than going with a native app from the get-go, and you’re not likely to be hugely disappointed: but it is worth noting that you are making some trade-offs when you choose to build a web application rather than a purely native one. If you do transition the mobile version of your app over to a native solution at some point, that doesn’t have to mean your investment in Bubble was wasted either: you can still connect that app to your Bubble database and keep your desktop version and back-end running there.
If you’re working on a new idea with no market validation yet, Bubble is one of the most low-cost and fast ways to get you there.
Leave us a comment if you have questions or comments, and you may also be interested in reading our in-depth Bubble review.