Before I dove deeper into Software Engineering, my knowledge of frameworks was limited just to knowing that they exist; I had no idea what they were and what their application was. Chances are is that I would never run into them in the field of computer science I’m orienting myself to be in. But, in the course of learning software engineering, it’s inevitable that such thing would be skipped. Plus, it never hurts to learn about the things that help make up a lot of what we see on the Internet today.
Frameworks from my understanding are essentially “pre-built” components made to assist in speeding up the development projects of software. The items in a framework in a sense help developers avoid “reinventing the wheel,” or in other words, components are ready to be used at the disposal of developers and require no involvement in creating and testing them as both tasks have been accomplished beforehand. Having these prepared components help to clean things up and makes testing and debugging easier. Many frameworks exist out there today, most of which have been utilized to make up the things people interact with each day.
It turns out that I came across frameworks early on in my learning, perhaps just not in a way that I was able to experience them. Occasionally in the past when I’ve looked at sample resumes of my fellow peers to get ideas for what I should put on mine, many times I would see terms listed under the skills section such as “React”, “SemanticUI”, and “Bootstrap”–all of which that I first thought were additional programming languages that I had never heard of before. After being introduced to frameworks , I think past me was actually right, frameworks in a sense are like their own programming language. Well, at least I finally understand what all those additional terms are that I find a lot on resumes.
Dabbling into frameworks for the first time in my learning, I first learned about User Interface (UI) frameworks. UI frameworks are what make up many of the webpages viewed on the Internet today. Many of these UI frameworks are used to provide webpages their clean, modern, and stylistic looks to them.
The UI framework I got to work with in my first experience was Bootstrap 5. I got a lot of previews as to what Bootstrap could do, and by looking at them, I got excited in wanting to try working with it, as a lot of what it could do reflected a lot of what I see on the Internet today. Bootstrap also introduced me to concepts involving the structure of a webpage, such as the navigation bar, and footers. It looked promising as it finally appearing that I am getting somewhere with the web content that I’m learning to create on my own.
However, with the power of Bootstrap’s ability to make many things out of its pre-built components, there too also came challenges with working with this power. Working with Bootstrap introduced a lot of moments of struggles and even gave me times when I wanted to give up on what I was working on. The more I dabbled into Bootstrap, particularly for my assignments, the more frustration that built up when I tried to harness the power of it only to see things not work out or sometimes make what I’m designing look worse.
Bootstrap introduced a lot of new things that I could not figure out on the first try. Even then when I learn one thing, another new thing follows up, leaving me in confusion. Learning Bootstrap is like learning a new language: there’s a lot of “vocabulary” to learn and I also needed to get comfortable with its “grammar patterns.” A lot of Bootstrap’s components worked if correct patterns were followed, such as using the correct classes with certain div
elements to slowly shape how I wanted things to look like on the website.
I know that it was a frustrating process, but just like learning a new language, it won’t come to me in the first couple of tries. It will take time, and I’m sure that with additional practice, I can create whatever I want and display it to others with pride. I think that’s the beauty of frameworks though: it’s a frustrating learning process at first, but in the long run, it will pay off as it makes the path of expressing new things like webpages and technologies much more simpler.