Bootstrap has vastly reduced the initial investment normally needed to build good looking web sites.  Before Bootstrap, a web site creator needed a variety of skills, including CSS and Javascript knowlege.  We have seen that it is quite possible to produce a presentable and responsive site without having to dig into either CSS or Javascript.

The whole ecosystem that has sprung into being around Bootstrap, which provides an abundance of themes and templates at little or no cost, completely reduce the barrier to entry and the time and effort needed to produce a good looking site.

On the other hand, the downside is that web sites based on Bootstrap tend to look and behave very similarly. To tailor your web application to your own needs would indeed require CSS and Javascript knowlege, and although Bootstrap has adopted "super-CSS" technologies (Less/Sass) to make it a bit more maintainable, this remains a complex task. 

Also, the jury is out as to whether using something like a Less compiler to produce your CSS makes things less maintainable as it involves learning to use yet another technology (Less) in addition to CSS.

Bootstrap also requires some rather specific HTML structures in order to style and animate elements of the site.  Producing this can involve some trial and error, which can be time consuming, frustrating, and sometimes challenging, especially when adapting complex Bootstrap templates.

We  have seen how Grok skins and layers can be used to retrofit technologies such as Bootstrap to existing site content, changing both the presentation as well as the behaviour of a site.  Note that in our example, we managed the entire integration by importing just four identifiers from our original site:

from interfaces import IArticle, IArticleSorter, Interface
from resource import textLight

Actually, make that three, since Interface is a generic zope.component.Interface.  At no time did we have to alter any existing code to produce an entirely new skin for our site.  Now is that not completely impressive?

Although Bootstrap takes much of the pain out of web site design, in reality that pain is rather painless if one already has CSS and Javascript skills, and there are some instances where  Bootstrap will conflict with your own or external add-ons which you may want for your site.  In other words, while it may be very enabling, Bootstrap can also be inhibiting due to it's prescriptive approach as to how things should be done.

Grok 4 Noobs

Some closing remarks