The title of this post is a bit of a giveaway as to where I stand on the debate about using frameworks as a developer. So let’s cut to the chase: CSS frameworks such as Twitter Bootstrap can be completely overkill. The files contain endless pages of code that style even the most minute detail of a page. A talk at the Future of Webdesign conference by Harry Roberts, more frequently referred to as @CSSWizardry in the developer world, ignited the debate about the advantages and disadvantages of using frameworks in your code. He suggested that a framework could be limiting. Essentially the user can end up unpicking the author’s decisions — somebody who has spent a lot of their time writing this code and pre–empting the users’ needs for styling. This means that frameworks should make things more efficient not harder. Not only do they take time for the architect to code, writing styles for features which may not even be used by the end user, but they can take time to implement and customise appropriately.
In my opinion, web developers, particularly front–end, are better off writing code from scratch. Sure, we can use chunks of code from frameworks, but it is, after all, in our job description to write code, not use someone else’s code and edit it slightly. It can be extremely time–consuming to unpick the code within a framework, as well as making it apply to our particular HTML tags and classes. Unfortunately, in some cases it can take more time making sense of plugins and frameworks, as opposed to writing it from scratch.
Indeed, CSS frameworks are incredibly beneficial to people who do not know much, if any, code, and they may be wanting a quick–fix for their company or personal website. Not knowing the capabilities of CSS/SASS means that using a framework to do all the hard work for you, is inevitably the easiest solution. On the other hand, perhaps they are back-end, PHP developers, who want the structure of the website in place quickly so they can get on with building database–driven content. In these circumstances, I understand why people would use frameworks and do not disagree.
However, for front-end web developers like myself, I think it is beneficial to write our own framework. Not only is it good practice for us to strengthen our existing knowledge, but it can also enhance our established abilities and find new, more efficient ways of solving problems. You will get to know your framework inside–out, structuring it in a systematic, logical way, making edits/remakes/additions way more efficient in the future, preventing the wasteful use of valuable time. Even if you want to use part of the framework for another project, you will know it so well that you can easily and quickly manufacture a new site to feature a small part of an existing project. Alternatively, if a company wanted numerous micro–sites which all follow a similar style and grid system, you could create a framework for it.
The web is an ever–changing sphere; there are always new techniques to learn. We should be thriving from new information and resources, and constantly developing our skills. How do we learn new things if we use a framework which has been written for us? We would not be developing ourselves as architects of code, and our websites certainly would not benefit from it.