One of the main reasons I gained an interest in computer science was because of the ability to seemingly create something out of nothing, directly from my imagination. Before this class I only had a very limited opportunity to learn how to work with user interface design, most of my formal education focused on backend development that used a very rudimentary interface to collect input from the console. Going into the html/css section this semester was pretty exciting. Creating my own website from scratch truly interested me, unlike the way I had to essentially gaslight myself into finding data structures intriguing. One thing that did get a little old, a little fast was the massive amount of formatting you have to do by hand to make a web page look clean. Thankfully a number of very talented people shared the same woes and created UI frameworks like bootstrap to make the process less tedious.
Using bootstrap for the first time was a similar experience to switching to a high level language like javascript after using C and C++ for a semester. Doing standard tasks like adding padding and margins to my html projects could easily be done in one or two class additions, not to mention all of the automated formatting that came with using these bootstrap tools like auto centering or having images rescale with the view window. Some of the most helpful tools from bootstrap are certainly the ones that make my page automatically responsive. Trying to figure out some of the basic functions using pure css wasn’t too time consuming but it would get tiring to do every time I wanted a simple fluid container for example. Another aspect I enjoyed about using bootstrap was the ease of creating an aesthetically pleasing user interface. I am a sucker for form over function programming when it comes to user interface. If a dropdown button has a smooth animation and is easy to read I will implement it over an instant window that is 100 times more resource efficient. Bootstrap’s themes and easily editable templates make customization very approachable and modular, something that is certainly not the case with pure css.
Not everything with bootstrap is perfect though. I can’t speak for other UI frameworks as I have only used Bootstrap thus far, but something that irks me about this toolset is its lack of clear documentation. Maybe I’m just not good at reading this style of technical documentation but I would much appreciate it if bootstrap had a simple list of its tools and their functions. The current style of documentation is mostly example centric, providing brief explanations of class descriptors before a rather lengthy and complicated template. This led to a lot of my time learning bootstrap to be sessions reverse engineering the examples that are provided. Simple classes got very complicated when adding on other class descriptors, oftentimes an example would again be given in place of an actual description. Maybe this documentation was an attempt to make the learning process easier for a wider range of users, but personally I found it to be counter intuitive and frustrating.