Skin 10.x: Frameworks Support
Description
Switching from Bootstrap 3 to Bootstrap 4
Bootstrap 4.0 launched in Jan 2018 after more than 2 years of active development (since Aug 2015). It's declared as a "major rewrite of the entire project", but some of the top changes that are affecting us are the switch from LESS preprocessor to Sass, the change of the Grid system to Flexbox, lots of variables and classes removed and deprecated, etc.
There are several issues between the two versions that we will need to discuss one by one:
Backwards compatibility
Apparently there are no few frameworks that are concerned about backwards compatibility. Maybe because they are intended for small, rapid projects or maybe because some like to do complete UI redesigns. Unfortunately this is not ideal for a platform like our own that needs to support extensions and interface customisations from our users.
Comparison with other Frameworks
Before deciding on switching between the two version, I've investigated if there isn't a new framework that was launched meanwhile that could replace Bootstrap. I've analysed 15 of the most popular front-end frameworks and you can see a summary in the spreadsheet.
Bootstrap remains (according to the number of GitHub Stars) the most popular framework in 2018. It has over 1000 contributors and over 17000 commits.




LESS to Sass switch
Grid based on Flexbox
General considerations
I've compared these frameworks based on layout techniques and pre-processor, but another thing to consider is that each framework comes also with its suite of components. These can be considered by some that bloat the size of dependencies, but on the other hand provide very fast iterations on interface, since they come pre-styled and sometimes also with JavaScript interactions.