Forum Academy Marketplace Showcase Pricing Features

Bubble + Jasonette (native mobile apps)

I got a very hard experience building my app into a one page viewer in Bubble. If you expect to have a large app, I recommend to separate into pages. It will be faster. My point. At the moment, my app is very acceptable in term of speed even switching from one page to another (that’s why I don’t have to use at the moment jasonette, but yes eventually to be exposed on app stores). So yes to your question about hide and display, it work well.

So now @jeremiah, you have the task to document jasonette implementation in 30 minutes with Bubble :slight_smile: (or do your best)

Hahaha, I definitely don’t mind doing that to help the community! As long as I can figrue it out :smile: . One clarification, sorry for misunderstanding…

Bubble (and many pros here) constantly recommend building a single-page app if you intend to use a wrapper like PhoneGap or GoNative. Is that just because of those wrapper’s limitations/requirements? In other words, how is it that Jasonette is able to handle multi-page web apps, but PhoneGap/Cordova can’t with Bubble?

I agree - the way my brain works it seems to make much more sense to create multiple pages.

1 Like

If you build everything at the same place, it’s fine. If your app become too big in term of 100 of repeating groups and so on, then I will suggest to go to multiple pages. It make no difference for jasonette wrapper (one or multi pages, it point on the URL you exposed). I’m not trying to be the jasonette expert here :slight_smile:

Look also for https://docs.jasonette.com/advanced/

Jasonette slack community: https://jasonette.slack.com/messages

1 Like

Hi. What is a Bubble directory?

Settings section, SEO metatags tab, ‘Hosting file in the root directory’.

edit: Or you can use the regular download Bubble file and point to it (but it change the name each time you make any changes).

1 Like

Thank you. Had no idea you could use it for that.

I was reading a bit about Jasonette and it’s pretty cool how you can interact between the actual native features and the web view that could hold for example your Bubble app.

That said, I was wondering if anyone has experience connecting to the Bubble database from Jasonette and in particular the location of any API keys needed. For security reasons, you don’t want this in the client side (the real app).

Please advice,

Thanks
Rick
info in my profile

All keys or any server side info stay server side like any web site. Using jasonette only as web viewer make things easier to start. After, you can progressively replace some elements with native elements, and make things more ‘native’.

Also, no one is talking about the fact that you don’t have to compile your code anymore on Apple or Google stores. You do it once, then is done for life (or when jasonette important upgrade is available). You simply change your text file (in json easy to read way) containing your code (or almost no code when using it as web viewer) directly on bubble directory (or whatever other server you like).

People generally think’s that all your bubble code is in the file, but no. It’s only a small json file containing simple instructions. The other confusion is you have to build you app in Bubble with responsive design (best 320x568) so it work on almost any phone.

2 Likes

I think this is not a No-Coder solution. Am I right?:thinking:

Jasonette requires you to write JSON, which is not a coding language, but looks like code for non-coders. It’s not complicated, tho. If you go the webview route, then you need very little JSON, but then you’re missing out on doing anything native.

Understood… Thanks :hugs:

Hi Bubblers,
Please share any Bubble sample json file?
Is this was in the Jasonette doc’s for making the bubble json file?

Hi @JohnMark @andrewgassen, since you seem to both have some experience on jasonette and json, would you mind telling us how best to build our bubble apps for it to be easy to transition to jasonette.

I’m still not sure how complicated it is to write the json file, but being a complete non-coder I dont need to if I intend to hire someone for the porting to jasonette. I do need at least to understand how the bubble app should be structured in the first place though.

Separate pages for big apps, I got that part. Other things to take into consideration? Should I write the app in mobile format only? (tick the native app box)

1 Like

Okay actually after some research, it looks like you have to build the front end from scratch on the json. So it doesn’t matter how the bubble app is structured?

1 Like

Yes, I recommend building ‘responsive’ in Bubble either for the size of iPhone5 or iPhone6. Jasonelle can do both a native application or a mixed application (called wrapper). To start your project, I suggest you familiarize yourself with Jasonelle using the ‘wrapper’ function exclusively which is less than 10 commands! Complicated? :wink: You compile it all under Android and Apple. No coding or language to learn. It’s just a command script. With what I know today with the maximum use of ‘Workflows APIs’, you can use a single page for your application. If it is too loaded, it will eventually take longer to download to mobile phones. Once you have build your json file, you place it to Bubble internal storage. And you are done for life with updates to Apple or Android! All changes are made inside Bubble. You don’t depend on anyone after that!

Look for https://jasonelle.com/jasonette-old-docs/web/#json-web-container
and https://jasonelle.com/jasonette-old-docs/web/#1-background-web-container-is-an-agent

If you feel over loaded, then you can have another solution: :slight_smile:

https://forum.bubble.io/t/update-june-28-2019-bdk-native-apps-service

Here is an example of a ‘wrapper’ with less than 10 commands for your application in less than 5 minutes to build and 15 minutes to compiled… for free! :slight_smile:

@jeremiah have you build with jasonette?

1 Like

@JohnMark gave a good description of how to use the wrapper functionality. I’d never use that for a customer facing app, so I would rebuild the entire front-end in JSON as you mentioned, then leverage Bubble as the backend only.

No - I did take a look at things, but at the time when I went to the website it looked like Jasonette had become Jasonelle, with new managers. It didn’t look like the test app or documentation was still being supported, so I didn’t feel safe to build on top of it.

It looked very robust and cost effective, and I’m not opposed to learning JSON to build, but since at the time, even the demo app was broken, it wasn’t something I wanted to leap into.

Appreciate your help. I’m starting to delve in the doc and better understand the concept of multiple containers. Looks like a bit of a learning curve still, but the payout is quite amazing (native feel at no cost!).

Thanks for the 2nd option as well, looks great too!

Here is an example of a ‘wrapper’ with less than 10 commands for your application in less than 5 minutes to build and 15 minutes to compiled… for free! :slight_smile:

I’ve yet to understand exactly what the output of that would be :grimacing: but once i will have went over the docs, I’m sure it’ll make sense!

@andrewgassen gotcha, thanks for the quick reply

1 Like

Don’t be confused with Json, it’s not a language but a protocol to follow. Json is just a format accepted as writing a letter with ‘Words’. All you have to do is use the ‘wrapper’ code in Jasonelle, and some mandatory lines. Seven lines of action and you have your ‘wrapper’ ready to be used.

Obviously, you need to install Xcode (Apple) and Android compiler, to compile Jasonelle main file and send it to the respective stores. The 7-lines json file can be hosted on the Bubble server. So at the iOS and Android compilation, you have to give the Bubble URL for the program to execute the commands of your tiny json file. Very simple.

Before sending to all stores, you can locally install and test your mobile app on your phone. Just don’t worry with tons of native Jasonette core commands (not now). Concentrate only on the wrapper and minimum portion of the json file and you’re set!