Is it possible to make custom builds of Webix including only the components that are needed in a project? Similar to Bootstrap’s way of including only the widgets you need.
While it technically possible, it is not really as useful as it sounds.
The components are reusing each other, for example DataTable uses nearly all other UI controls for building editors, filters and menus. While pure DataTable will be small enough ( about 1/5 of full webix.js ), with all editors and filters it goes back to 2/3 of full webix.js
So Webix minified and gzipped is small enough (~110k?) that it’s not really worth to take it apart.
By the way, I’ve seen the size mentioned as 90KB gzipped, but it seems to be slightly bigger now at v2.1. Maybe that 90KB figure should be updated?
Actually version 2.1 is about 125kb
I have updated the related info on the site.
Wow, Webix grew a lot! About 680kB four years later. I’m curious what went in that 5x size increase. Is it new widgets? Can they be removed from the webix.js build file? I’ve tried that (see the linked thread), but the size was not much smaller.
While not-compressed size is 680kb, the compressed (gzipped) size is 215kb
The package size is doubled in last 4 years. It is mostly the extra widgets and some extra functionality for older widgets.
Removing new widgets and using gzip on top of the final bundle will provide the package nearly of the same size as it was 4 years ago.
Is it possible to reduce the size of the CSS as well, by excluding the CSS rules for widgets excluded from the build?
For now it can be done only manually. The key file is sources/css/webix.less
You can exclude unnecessary widget from this file.
By the way, we plan to have a significantly smaller CSS file for material skin in webix 6.2
That’s good news, thanks Maksim.
BTW, you can close the corresponding GitHub issue now.