Make your App faster with this simple component!

I just fixed this, please reload and build again. To fix the original deployment issue with the installer server I needed to rename the package but missed the installer script!

2 Likes

Awesome question, and one that I did not know the answer to. I created a Xano backend and it certainly does speed up Xano requests. ** SO LONG AS THEY ARE EXTERNAL COLLECTIONS **. So, this will speed up any external collection requests, not just Adalo requests, from the extensive (1 endpoint) that I tested

I’m actually planning to migrate my database from Adalo to Xano Platform for scalability. It would be very helpful if this component can help speeding the app more.

But I’d like to seek for an advice from you @TKOTC. Would it be my best decision to move my whole database/backend from Adalo to Xano? Will there by any consequences? And if it is good, what are the possible pros?

I highly appreciate you answering my quesion really quick. I’m so grateful.

Cheers.

1 Like

I totally agree! @TKOTC keep up the great work and keep making components for the community! :slight_smile:

1 Like

OMG @TKOTC !
Your work is amazing!
Thank you!

2 Likes

We might want to start a new thread on this topic for Adalo v Xano as backend performance. Using this component will speed up all internal and external collections.

It is a non-trivial topic, so I will try to simplify it as best as possible.

An Adalo app has a very specific and ridged data format and structure so that the No-Code design tool can be used without needing to know the underlying data structure (a lot of work was put in to making displaying data as easy as possible.

What this means is, using an Adalo database works like this
My application will ask Adalo server for the information I want, Adalo will get the data from the Adalo database and return the data to me.

When using Xano as a backend it works like this
My application will ask Adalo server for the information I want, Adalo will as Xano for the information it wants, Xano will get the data from he database and return it to Adalo, Adalo will transform the information into something it understand, then it will return the data to me.

SO, if you have an Adalo table of messages, moving that to Xano will not make too much difference, probably slow it down a little. I do not know the databases used by Adalo or Xano (or others), but judging by the structures I will take a guess the BOTH use MongoDB. So there is probably little performance increase on CRUD (create, retrieve, update, delete) data, but Xano will take extra steps so probably take longer.

If we removed Adalo server from the equation and wrote custom components for everything to go direct to Xano without passing through Adalo, we lose the Magic Text and other features!

My opinion on the matter is:
If you need to do side-effects on data, like create complex conditional records that requires backend programming, Xano will fit the bill. If you can do what you need to do using only Adalo database, stick with Adalo rather than any other backend. Adalo will continue to work on improving their servers and it will get better over time.

6 Likes

Thank you for a fabulous job.

@TKOTC for me it works fine in my PWA. But when I build it for iOS and go to the home screen I get a blank screen. I do have a list on the Home Page so I don’t know if that has something to do with it.

1 Like

I do not think that should have anything to do with it. I only have an Android so I farm out iOS for testing and tbh I sometimes don’t do extensive iPhone testing. Let me check out the iOS stuff and get back to you. I will also rebuild the Android one to confirm that I did not break it while getting the installer to work!

2 Likes

I’m experiencing the same issue in iOS.
I was testing android now. There it doesn’t register any taps.

Seems to be the same issue, but where iOS is white, Android seems to have a transparant layer on top, or behaves that way.
I checked and test the layering and put the dataloader at the bottom. No difference.

Hope you will be able to troubleshoot! Looking forward to testing the speed improvements :slight_smile:

Cheers!

2 Likes

I can confirm I removed the control, created another build and then it was back to normal.

1 Like

It’s working now. Thanks!

Does this help with lottiefiles as well? I have quite a bit. Just curious in areas where it helps and doesn’t. lol

As or today, it helps with and Databound items on parent pages. In plain english this means Lists and form components on pages that do not have linked data. I would call this v0.1.

Does not help with lottiefiles or other asset files, it definitely could though! The next step I will work on (once the iOS whitescreen is fixed) I am going to improve the details page by making changes to the core of Adalo. This change will only apply of iOS or Android however as I cannot make changes to Adalo core for PWA, only for iOS and Android.

Once that is done I can tackle assets.

I figure, with community support, before the end of this year it should support everything needed to make apps super performant.

5 Likes

For those with the white iOS screen, I tried putting a list on the home page of my app and the PWA and Android had no problems with it. Just in case it was caused by a list on the home page I added an extra piece of code to not prefetch the home screen as this is handled already. You might see the ugly blue circles on the homescreen, but the rest are fine.

I could not test this on iOS because I do not have an iOS. I will have someone test the new release tomorrow.

I will also start the change to support the linked data pages, but this will work on iOS and Android only, so PWAs will not profit from the change. From there I will submit my change to Adalo to see if they can incorporate it into their proton runner so that PWAs can get faster as well.

6 Likes

@TKOTC I went ahead uninstalled and installed the plug in again from your installation page. Added the component to my Home Page, uninstalled my app from the iPhone. Created a new build and installed again. It still displays a white screen.

hey man just wonder how you measure the speed up? is it using any tools or just by comparing visually?

@TKOTC Good day!
The pre-loader not working for me anyway! and still see the loading circles after adding the component.

Thanks

Hi @TKOTC,
Out of curiosity: does the component respect lazy loading lists?

I’m testing the component now on a PWA with a screen that includes a list of more than 500 items, all items including images. The wait time now seems to be deferred to before the page transition, instead of after (long loading icon time on button after click).
Besides that I really wouldn’t want my users to load all items if the lists start running into the hundreds of items (or above 20 really), only if they scroll that far. Going to run in the 10s of megabytes otherwise.

Cheers!
Steven

1 Like

Hi,

great job :slight_smile: this is really something that adalo needs very much.
I have a questions about this pre-lodning. Does it also preloads videos with plyr extension? We are making e-learning app and have lot’s o video (there might be few GB soon) and it is not good to preload so many data on mobile.

Best regards

Cool idea, but this should be some Adalo handles on their own really it feels like. @David - can you confirm if this is something we need to add using a component, or something Adalo should be handling at the app/server level?

1 Like

Hi @TonyD, absolutly this is something Adalo should do!

Why did I do it? Let’s look at geolocation. In Feb 2020 a request was entered for geolocation. 800+ people asked for it. In Sept 2021 I release my own geolocation to the community. By October '21 people were pushing more and I created my own store. Now Adalo changed this to in progress recently.

An object at rest tends to stay at rest. This post should be a Newtonian push

3 Likes