Hi, if you can please prefix your question title with
BANanoVuetifyAD3 as the project in netlify refers to that.
Thanks a lot for your kind words and we welcome the constructive critic.
1. The project in question that runs on that site is a very large project as it demonstrates everything in the BVAD3 kitchen sink, this is 137+ pages. The project alone is 3M+ large, excluding CSS + JS files etc and excluding the library itself, which is also 3MB+ in size, in total we are talking about a 6MB+ js file.
2. This is what we have done so long, during the week we moved most of the CSS + JS content that the library is using to jsDelivr. What this does is help the compilation time of the project as resources are now sitting on jsDeliv and thus not included as part of the final package. Also because you are using cached resources, the project load times are faster. This was published
here.
By turning the
Online = True when one is building their copy of the library, will mean that jsDelivr is used and not local content, a smaller package and faster speeds.
3. We understand that developers might use only portions of the library and not everything. For this we have also added functionality in the library to use the Core Components of the library. This can be done by setting
CoreFunctionality = True, doing this means that the plugins in the library are not used, a smaller package and faster speeds
4. One other tool we have been fine tuning is the Package Manager. What this does is to tree shake your project by removing actual unused component files. What it does is to scan a zip of your project, finds out the components that are used, removes unused ones from the copy of the library that you can use as a final. This package manager and how it works has been discussed
here. For example, part of the 3MB file size of the library is made up of more that 120 components, if your project only uses 5 of those and you dont package manage your final app, all those 120 components will be included, whether used or not.
5. Finally, there is functionality with BANano, to remove dead code. Removing dead code helps also in tree-shaking your application.
In conclusion, running the Kitchen Sink project with speed tests WILL fail, because the project has not been optimized. It didnt go through the package manager, dead code removal has not been turned on and as yet to be fully updated with a library that uses the CDN. I think. Perhaps in the near future this can be done.
We do understand the need to make this better as much as we can and even to pass the speed tests. We are sure this will be better as we go along.
Kind Regards
Mashy
PS: Testing Page Speeds with Small Projects
To test page loads with a simple project, in B4J, if you are already setup, select the
BVAD3 Blank project. You will note that the load speeds are fairly close to acceptable.