abaabil

Abaabil vs Material UI

Both libraries, measured the same way on the same day: each entry point bundled with its own module graph, gzipped, React treated as external. All twenty-three abaabil components together come to 7,364 B. The same set from Material UI, over the 22 it offers, comes to 117,424 B, or 16x the size.

What Material UI is

A complete implementation of Google's Material Design, with a theming engine, a very large component set and commercial add-ons such as the data grid.

mui.com/material-ui/

Per component, gzipped

abaabil's column is its a11y tier, the one most applications should use. 22 components are directly comparable; the widest gap is badge at 119x. Material UI has no equivalent for 1 of the twenty-three (file), so those are left out rather than counted as a win.

JavaScript weight in gzipped bytes, abaabil against Material UI, per component.
ComponentabaabilMaterial UIratio
button55738,31469x
dialog58040,16669x
popover49539,85481x
menu1,12049,74944x
tooltip45944,73597x
combobox1,09758,61253x
input50158,465117x
textarea50658,465116x
checkbox53438,72573x
radio44439,43189x
switch42338,32691x
select53061,355116x
slider70537,16653x
accordion36440,476111x
tabs78643,43855x
toolbar78437,51248x
breadcrumb33538,849116x
pagination68939,66258x
progress49331,25063x
alert34140,450119x
avatar46032,14270x
badge26731,897119x
all of them, one bundle7,364117,42416x

The last row matters more than any single one above it. A library with a large shared runtime pays for it once, so the gap always narrows as you use more of it. Quoting only the widest row would be the easiest way to mislead you with real numbers.

Reading this fairly. Material UI puts its styles in the JavaScript, so its figures already include the styling engine. It is not missing a stylesheet column.

abaabil's figures are JavaScript only, the same as every other column here, and unlike Material UI it arrives already styled. That cost is real and tracked separately rather than folded in: the whole stylesheet is 5,217 B gzipped if you import all of it. The method, and every library at once, is on the Why page.

When to choose Material UI instead

You want Material Design, or you need the breadth. MUI has components abaabil has no equivalent for and will not grow: date pickers, autocomplete with virtualisation, a data grid, a full theming system with variants. For an internal tool that needs to exist next week, that breadth is worth more than any byte count.

abaabil is twenty-three components and stops there. It has no date picker, no data grid, no virtualised list, and no plans for any of them. If the thing you need is on that list, the size comparison above is irrelevant to your decision, and you should take the library that has it.

If abaabil is the right fit

Setup is four steps and the first one is npm i abaabil. Every component has its own page with a live example at the tier you would actually import. Or read when not to use it first, which is the section written to talk you out of it.

Compare against another library.