Understanding Options while Creating Mobile App

Hi All,

I want to build a mobile app and am pretty flexible on it being native/hybrid/pwa etc. for now (Later once I see product-market fit, I may want to make it more sophisticated native app with good speed etc.)

I have read through many threads in Bubble forum and am thoroughly confused. I tried some of the solutions a bit, but haven’t quite understood how they work and what exactly are pros and cons of various options.

Here’s a table that I have created based on my bleak understanding. My technical knowledge of the matter is pretty poor, so please correct wherever I have misunderstood and please add pointers at other places so that I can understand it better.

Please also add if there are some other more appropriate options.

(I tried creating a table here, but it was not coming quite nicely, so I pasted the image instead)

I am quite confused on few of such questions:

  1. Are all the solutions that use Bubble app are basically webview? If not, which one of these are not that?

  2. Is the difference between BDK and Jasonette that BDK does automatically what we need to do manually in Jasonette? If not, what are the key differences in the way two work?

  3. What is a wrapper? Is it that there would be a native app that would render bubble app in a webview?

  4. I read at many places that I should create one page app with showing/hiding groups. Is that true for all these solutions or some of these? I also read at another place that if I do this, the app would be very slow as full Bubble application needs to be loaded, and hence multiple pages is better. What is the reality here?

  5. Is my understanding of PWA right?

  6. When people recommend creating a single page application if we want to build mobile app, which solution are they having in mind?

  7. Why do tools like BDK, Codelessacademy have a separate plugin cost and build cost? Is it possible for me to just use their plugin and do the build myself if I have Android Studio, Xcode?


Hi Mukesh,

I’m in a similar place to you with my development. I have the same questions and your table is really comprehensive!

I guess my decision making comes down to a few things.
1/ Do you need offline usage? All of these services you listed require internet to function. There are other options for converting a bubble app/site into a version controlled app that could be worth considering if that is a key component.

2/ As far as i can tell, there are multiple companies offering a wrapper solution, but i think the jasonette option is what i think most of them offer, or some mild variation on this. Which makes me feel it’s worth trying out and not paying any money right now.

3/ Is the address bar a deal breaker for what you are trying at the moment? Like you identify, add to home might be a suitable way to solve the issue. But if you need/want the experience to be more polished, then you will want to do away with the address bar. I’ve tried setting the page to autoscroll down on load, but at least on my android, in chrome, it doesn’t scroll the address bar away in the same way it does when i manually scroll.

4/ I have also had the advice of showing/hiding groups. The info i got from bubble was that unless you had 1000 items loading at once you probably wouldn’t notice a difference in load times. I’ve done some stress testing with 100 large file pictures all on the site, with only one visible, then toggling the rest on. The load time was the same as when there was only 1 large file picture on the page. You can also have items in the database (they won’t load on page load, so no slow down). This means there is a small delay when a user toggles them on. You can get around this by preloading that element on another trigger. You could do this using an invisible element, a custom state and using a ‘do a search for’ with a conditional. So the element is a small footprint for loading, but it loading causes a preload on something else but moves it from that initial loading spike.

Sorry i’ve not answered most/any of your questions, but i’m also in the market for discussions and solutions around these. The line that resonated the most with me was ‘Theres a learning curve, and i’m already tired, frankly’



Thanks for sharing this note, Phil.

I have made some progress since then.

I managed to get an android app made with Jasonette. Then later on moved to try PWA, as I didn’t want to put effort to make iOS app too, and PWA seemed good enough for my needs.

I have now managed to make a PWA which is bit slow, as I am not yet using the group show/hide. But in spite of not doing that, the first page loads slowly, and when I read PWA documentation, it seems loading time of first page is a big deal for PWA.

It is accessible at https://beegle.app/beegleplus (Still just a prototype kind of thing, not really production stuff)

Yet to get offline bit working in PWA though. It seems it is not possible with Bubble, although I don’t understand why.

Hello Mukesh,

Your question is now my question. I don’t understand whether a person can just use $16 BDK plugin and do the rest themselves in Jasonette. Can somebody help with answer?

Thank you!

Hi @ihorazh

I went for TWA finally. TWA is basically a kind of wrapper for the PWA but officially supported by Google.

More on TWA (which can be built using a utility called Bubblewrap): Quick Start Guide - Chrome Developers

I have a few apps live right now built with this method at: https://play.google.com/store/apps/dev?id=6776099010596455636

If you have any specific questions on this, I’d be happy to answer. I have spent a real lot of time on making it work.

Hi - I have PWA full running on Google App store, BUT
the web address is still on top of the app when running, which is not nice.

Google says, I have to check integrity (TWA) with my site, uploading asset-link-file to my server.
But it does not work, after dozens of tries.

Could someone help me here?

I’ve got this fixed in my app so I should be able to help.

You say you have PWA on Play store. Do you mean PWA really or TWA?

Its a Compiled PWA as Package (.aab) done on Pwa-Builder site.

App Integrity proof by Google Console
….And google wants this Storage of the Asset-Lins.JSON file in the Server (bubble, upload )
To proof ownership of domain of my app.

How can this be done?
I tried Upload in Root, but did Not work.

The App itself Runs perfect in Play Store, and is Gully installable as Android App - but the URL is shown on Header of the App


I am little confused. Are you same as @secondra or you are also having similar issue?

Either way, let me see if I can help. Show me how your asset-links file looks like. And how did you upload it in root folder?

Yes i am the Same :upside_down_face:

I copied it from the integrity section of console, put it in a txt file with Extension „JSON“ and uploaded to bubble root w Name „asset-links.json“

Google Wanst the JSON file in Special directory- /.xxxx/Asset-links.json

I do not know how to create this in bubble……

Do it like this while uploading the file. You can give the pathname while uploading the file.

1 Like

Great! I am such a bad “developer” haha, sorry! Thanks,

AND,---- …it WORKED - THANKS! All oK now, TWA up and running,great help , thanks!!

And now I did activate my “real” forum profile,

Good to hear. Glad that it worked.

I don’t understand.