[Update March 5, 2020] BDK Native Apps v1.7 released

Hello Bubblers,

Happy to share that BDK has now grown beyond plugins.

BDK Native Apps service
Get your awesome no-code bubble application now as an iOS & Android app. Leverage the native device capabilities right from bubble, all with 0 lines of code.

Start your native app project right away at BDK’s new home - theBDK.com
Try out the iOS & Android apps. Built on bubble & made native via BDK Native.



Nice to see more options around native apps! What’s the difference between this, CoPilot’s, and Zeroqode’s offering?

And what’s the pricing?

1 Like

Sounds great. Does it have offline first capability?


Looks great! Does it work together with your slidable menu? About the header and how it can be used. Is there a way to add icons etc to the header and tricker actions from there. How about dynamic and conditional content in header?

Also, what is the best setup for this. One page app or multiple pages? What workflows are available?

Hey @gaurav the app looks great, just what I was after. How much does this cost?

I started a project to check pricing. Here it is.You need to start a project to check conditions, pricing and what it includes.

Android Build: $149
iOS Build: $199
Both: $249

By the way @gaurav the welcome email once you create a project went directly to my spam folder. You may want to check that.

1 Like

Very impressive demo app @gaurav :clap:

Yep! If a plugin works on your bubble app, it should work in your native app too.

In the roadmap. But there are other capabilities that I want to add too before this

Anything at all. Doesn’t you have a single page bubble app, multi page bubble app or even some pages of your site in different service (e.g. webflow) and some in bubble.

Sharing a quick screen recording to demo the native transition between pages.

I’m gonna be sharing link to detailed documentation soon. But here’s a quick glimpse from plugins tab:

Here are the details (as of now; subject to change).

Thanks @Lucien!


Could you dive into the “native” part a bit more? I haven’t seen a solution that turns Bubble apps into native apps, just solutions that wrap them and serve them up in a webview. Is this service different?


Seems pretty amazing. So native transition is between different pages not for the one page app?

Is there a way to change the background colour for the native transition and maybe add a loader? I have a dark UI in one of my apps so that’s why I’m asking.

What else you have on your roadmap?

It does use few native functions and integrates them to bubble.

1 Like

This is awesome! @gaurav offline capabilities? (database, cache)?


I asked the same question. No response yet. ??

So here’s a very high level overview of the system:


  1. iOS & Android Operating System: Self-explanatory
    BDK Native Platform
  2. Engine: Incorporated within the app during a build
  3. Config: Incorporated when the app is built
  4. Bubble Plugin: Allows your bubble webapp to communicate with other parts of BDK Native
  5. Native Template: Fully native ‘views’
    Your bubble app
  6. Your bubble app: Self-explanatory

The engine, app settings and plugin together allow two-way interfacing b/w bubble and iOS / Android native app features.

The first native template I’ve built is a special native template for a wrapping a bubble application. Think of it as a ‘customized wrapper’ for bubble that @andrewgassen mentioned. Ofcourse that’s only one piece :smile: I’ve got some ideas around other native templates but it would be too early at this time and spoil the surprise. hint: lockscreen.

I have seen a lot of talk of wrappers such as Superview, universal webview, web2app etc. While I have never used these, the place where it probably differs from such wrappers is that it (i) is custom built for bubble so it attempts to give the bubble app control of the device layer (ii) is two-way so the engine can also pass data into bubble, trigger bubble events etc. (iii) can include native components such as header that are controlled by bubble (see response about header below). Regarding the wrappers in the market, I don’t know if ZQ, Copilot & others use these or not so can’t comment on that.

As an example in the demo app - take the screenshot function. You click the button, which has attached workflow step ‘Take screenshot’ from the plugin. The plugin communicates the request to Engine. The engine now asks the OS to do this, collects the result, sends it back to the plugin. The plugin element then exposes the result to your bubble app as the screenshot element’s image. So basically for the end user i.e. you, you end up building an app that is truly interacting with the device back-and-forth but in the same seamless way that makes bubble so great.

Adding one text / icon on the right side in header is in the roadmap.

This looks like a very desirable thing to have as you transition b/w pages you may want to change the header title, background color. I just built this capability into the engine & plugin :smiley: Once I’m done testing I’ll update the demo app.

Sounds like a pretty cool app :slight_smile: So I just built this background color functionality into the engine & plugin. Once I’m done testing I’ll update the demo app.

I’m not entirely sure what offline first means… If its ‘do something when things go offline’ then yes its possible (see below). If its ‘I want my bubble app magically work offline’ then no (and unlikely that anyone other than bubble team can do it)

There are 2 cases here:

  1. App opened and there was no connection to bubble preventing the bubble site from loading
  2. App opened, bubble site loaded and then connection went offline

For case 1, I need to add the capability to detect when user opens the app and internet is not working. Will add to my list. Right now the native components (e.g. header) will show. You can try opening the app in airplane mode.

For case 2, you can already use the Offline detect feature in the bdk UX tools plugin. That will allow you to build your custom screen / use a standard connecting & offline screen, and not just for native but also webapp. Please check out the standard one in the demo app by turning off internet after the bubble page is loaded.

Device database / cache:

Currently possible to store key value pairs (like json). I still need to add plugin actions for that. However I’m curious about why you’d find it useful.
If there’s a specific file you’d want stored on device that’s possible when you request the build.


Is it possible to play audio in the background… ie activity will go on in the background ?

Yes absolutely… You can try out on the demo app :slight_smile: play the audio and go to some other app / lock your phone. Infact you can even add custom album image, artist, author etc… Try to see that once you play the audio :slight_smile:


Hi @gaurav, can I asked which engine is behind it? Audio recording is needed.

Sorry cant share more details about engine and stuff.
I can share that I have a plan to add native audio recording as well :slight_smile:

1 Like

Offline first is a term used to describe that magic action. Where an app can be opened and used regardless of whether or not a data connection exists when the app is opened. All data entered while offline is stored on the device and later synced when the data connection is restored.

In my case, the app is used in the construction industry. Often while on a project there isn’t a data signal available (though that’s becoming less of an issue). So that means the app is unusable.

That’s quite a response you provided. Thanks.

1 Like

Okay so I read up a bit about how this happens and fairly confident that this can only be implemented by the bubble team for apps built on bubble. I also checked gonative if they offer such a capability even upto to their top end subscription and they don’t (https://gonative.io/pricing).

I see. So yeah I think you would be able to save something on device and then check from your bubble app using a timestamp if that matches your last save to server. That could be done easily from your bubble app once I expose the functionality to save on-device.