WORK IN PROGRESS
The sandbox UI has to be built up ambitiously in terms of time as a vertical prototype. This requires the use of a broad-based component library anyway - a decision must be made for this. This decision will be shared with the committees and working groups and may persist beyond the sandbox due to structured decision making. This should be made as data-based as possible: Which framework scores best in the following areas?
Performance
maintenance
Accessibility
Licensing
Breadth and depth of components
The following table is used to evaluate these factors:
Library | Performance | P | Maintenance (Github activity) | M | Accessibility OOB | A | License | Internationalization | Comment |
---|---|---|---|---|---|---|---|---|---|
490kB MINIFIED 135.4kB MINIFIED + GZIPPED + ~13kB dependencies | base is open-source, MIT some things open-core, paid | OOB styling a lot of talent that has experience in it + material design system pretty well known | |||||||
265kB MINIFIED 73.7kB MINIFIED + GZIPPED + styles 270.4kB MINIFIED 68.1 kB MINIFIED + GZIPPED | not good (https://github.com/Semantic-Org/Semantic-UI-React/issues/3745 ) | MIT | |||||||
114.2kB MINIFIED 36.9kB MINIFIED + GZIPPED + bootstrap if customizing 58.9kB MINIFIED 15.6kB MINIFIED + GZIPPED | https://getbootstrap.com/docs/4.0/getting-started/accessibility/ bootstrap itself is pretty generic and can be used to hit any necessary accesibility goal react-bootstrap doesn’t seem to have many tickets open pertaining to accessibility (around 5 with the “accessibility” tag on github) most likely fine | MIT | old (in a good way) a lot of talent out there that has experience with it | ||||||
136.2kB MINIFIED 36kB MINIFIED + GZIPPED | Reakit deprecated? now is Ariakit - documentation not ready, breaking changes until official release | ||||||||
743.6kB MINIFIED 221.5kB MINIFIED + GZIPPED | apache license | OOB styling not a mobile-first ui kit | |||||||
963.8kB MINIFIED 259.6kB MINIFIED + GZIPPED | MIT | ||||||||
379.4kB MINIFIED 113.1kB MINIFIED + GZIPPED | MIT | premium version? (how does this affect dev flow in the future?) OOB styling | |||||||
722.8kB MINIFIED 180.2kB MINIFIED + GZIPPED | |||||||||
planning on being accessible? | |||||||||
uses LESS instead of SASS/SCSS |
Performance currently filled with data from bundlephobia.com. Size can be a good indication of how many included components there are, but not the total load when installed - most/all modern kits are treeshakable (only code used is shipped to the user)
Questions from Priit:
Is this a forever-decision?
Plans of building a UI kit in the future?
What ramifications are there to locking in a choice now?
Meeting notes Priit Puru Artun Gürkan Jonas Bergmeier
it’s a concept/prototype - we will keep it as lean as possible to be fast
sandbox implementation should not hinder added value to component library and general workflows in the future, i.e. usage of Storybook or custom components etc.
if possible we want to stick with component library of choice OOB
only skinning on top of the library would add value to the sandbox and not customize the core of the library
Add Comment