...and the PursUIt of Happiness

10 Oct 2018

Ever played with LEGOs? Seems like every child has at one point. One block, two block, red block, blue block. Put a few together and you got yourself a castle! Put a few more and you got a whole village, or a starship, or even a dragon~ When I was a child, I used to have this big plastic bin of Legos from many sets. Harry Potter! Star Wars! Batman! It had everything. Each set had something special. Maybe one had some sort of gun that launched another piece, while another set had a castle gate that lifted. All of this similar to how UI frameworks work.

Why use frameworks? Why bother learning them? There’s so much documentation to sift through… but in the end, it’s all worth it. That little bit of extra effort goes a LONG way in making your life easy. These frameworks are similar to Legos, in the sense that they provide already made pieces for your wonderful creation. Menus, icons, buttons, forms, grids! You name it. Those are plug and play elements you don’t have to code from scratch. Not only that, but all those elements are easy to modify and make even the creativity challenged put out some fancy looking pages.

One other huge benefit is that one can build half decent web pages in a very short time. This is useful for planning out your lay-out or experimenting with how the page will look. When you do spend a little more time on your page, it will be responsive and well tested. The documentation is often very easy to understand and even provides example for you. The documentation might even provide you with the code you can copy and paste right into what you’re building.

This sounds great, right? Could there be any downside to this? Why, of course. Life isn’t perfect. While UI frameworks do provide the incredible power to make pages quickly, they are limited by what they provide. A UI framework may not have what you are looking for. Those that learned to use frameworks in lieu of mastering HTML and CSS may have a difficult time modifying framework elements. Frameworks might weigh your project down because you would be including an entire library of which a small percentage would be used. Also, when this library updates, even a small bug could break every single website that uses it.

So there are some downsides to using frameworks, but the day to day usage of UI frameworks far outweigh the them. In the end, these UI frameworks provide us with a certain quality of life, simplicity, and pursuit of happiness.