Why was my app too heavy?


I used thunkable to turn my site into an app, obviously using just a webview and nothing more.

however my app got too heavy, and it takes too long to open from start, this only happened when compiled by thunkable … why?

Without viewing the project is difficult to say why it is heavy. Different reasons can be more than 10-20, and it is difficult to say which of these applies to your problem.

You have to look at Thunkable as an extra layer that simplifies the development, not to improve the response time. Basically, the approach is to rely on the more than adequate power of modern devices to handle the managing of information processing. When you add two numbers in a compiled environment (say a compiler C++ program) the result is a sequence of binary instructions that actually add those two numbers. When you do the same thing in a VM language like Java, then what happens is that the instruction to add is passed to the virtual machine which then has the list of binary instructions relevant for various operations and then has it run (the idea here being that the VM would be different depending on the CPU and operating system type–the Java instruction is the same, the VM machine is not).
Then, with something like Thunkable, you have another layer, something that interprets your instructions into commands that may be meant for a VM. Each layer means that the device running the code has to look up in a map to see what that instruction means; this look-up step is what adds to the processing load.
If you are running out of steam, perhaps the most computationally intensive part of you app need to be ported to an alternate language and environment. I have an app that requires sorting a long list of data, and when the most efficient sorting algorithm was used (heap sort) found that it would be uncomfortably slow. So, I ported the sorting to a JavaScript function embedded in a HTML file launched by a WebViewer component (that is in Classic Thunkable, X lacks the capability of transmitting information back through a WebView string, which is a major issue as far as I am concerned). The result is that, even including the extra steps to prepare data for transfer and get results, the processing is done 700 times faster using JavaScript.

So that is basically it.

At some point, you app gets a bit too large for the restrictions of Thunkable, and you need to have a hybrid environment.

Hi, @tiagodonascimentomen! :wave:

I have a question for you (It is not app size related) -

:arrow_right: Will you publish your app on both iOS AppStore & Google PlayStore?

Publishing on PlayStore is not a problem, you will succeed with it.

What's the problem with iOS?

Publishing on Apple Store might be a problem, because your App has just a web-viewer, and AppStore support will not accept your app.
You will get a mail like - “Your App only has a webview. Safari can do that.”…

So, you should publish on playstore, until you give more options fro iOS.

Thanks! :blush:

1 Like