by markdaps » February 12th, 2021, 7:01 am
Hi,
Have had a major rethink about migrating this script from Bootstrap 3, to Bootstrap 5.
Instead, I will be using CSS Grid/Flexbox for the main layout and individual elements, alongside pure CSS/vanilla JavaScript for components, i.e carousel, slider, gallery, and cards, etc.
Reasons for not making the Bootstrap migration include;
BS3 and BS5 are entirely different, and every single file that has any HTML or jQuery reference to BS3 would have to be coded from scratch.
BS3 can't run alongside BS5 (or even BS4 for that matter). This is due to matching CSS class names (and there are thousands of them). This would mean that everything would have to be converted at the same time before deploying. BS5 does not use jQuery either (although it can support it if required).
This script heavily relies on jQuery and BS3 across files other than template files, i.e. visitor frontend, members frontend, and admin backend. The form controls alone are extensive. It's also coded into PHP core files.
Bootstrap is always difficult to upgrade for major releases, using pure CSS removes that problem.
jQuery is slowly being dropped in favour of vanilla Javascript in most cases, exceptions include WordPress, but they have a major new release with jQ being upgraded to version 3.x (this script is using v1.x).
Using pure CSS allows for a theme to be developed, and released in parts, and without affecting the core script. BS3 and jQuery can stay in place until updated in core files.
For any browser/device that doesn't support CSS Grid, there are fallbacks, you could also fallback to a default template.
For components that include a carousel, slider, image gallery, header navigation designs, and whatever you need, can be added easily enough using pure CSS and vanilla JS. Template developers could release single items often, that can be included into the template.
Mark M | Web Developer