It has been two weeks since learning a bit of html and css. It has been one week since I've learned a bit of the Bootstrap 5 framework. In a few days I'll begin to learn how to use the React framework. Of all the friends I have in the industry, exactly 0 of them enjoy front end web development. I'm inclined to share their sentiment.
Base HTML is a pain. Alignment is hard. I have a feeling that html and css was meant to be a stopgap fix for displaying webpages instead of a permanent solution. Similar to how email was designed for intra office communication so the security of its content was a complete afterthought, it seems that html wasn't meant to display complex designs with its lack of spatial control. Tools such as boxes to contain items or grid systems to assist in item alignment are promptly lacking. Sometimes, I feel that I could design better in Microsoft Word. I can understand the lack of tools that would allow for responsive menus and dynamic content, since it would be difficult for people to predict the directional design of web 2.0, but I expected more in its ability to design static content.
Bootstrap is frustrating. While it does contain many features which solve many of the problems I highlighted earlier (containers are so good), I spent most of my time working with it looking at documentation and struggling to figure out what I did wrong that resulted in things not displaying as I intended. Spending many minutes trying to debug my usage of Bootstrap classes and failing to make any progress gives me a different form of frustration which differs from the growing impatience of trying to fine tune things in base HTML/CSS.
My classwork included a few exercises in recreating the homepages of a few websites. I haven't even gone through five, and I already see the "sameface" which results from the usage of Bootstrap in its design: a dark or bright horizontal navigation bar on top with the company logo either left or center, static buttons or dropdowns in two columns evenly spaced in the navbar, centered text overlaid on images in the body, and a footer with evenly spaced buttons. Here is a recreation of the top of the Atomic Rockets homepage, which took me a whole five hours to do with bootstrap (It would've taken me a few minutes if I just copied the HTML/CSS).
Original:
Recreation:
So far I've only looked at my creations on a 16x9 aspect ratio monitor, so I have not seen the extent of its jankiness on another aspect ratio, or God forbid, mobile. I think I would appreciate Bootstrap a lot more if I did.
Is my current view of these UI frameworks a case of "Better the devil you know"? I am not certain. From what I've seen, they fix a lot of problems with designing things in base HTML/CSS at the cost of things looking like a template.