The Pluses and Minuses of Using a Website Framework

A look at when a framework may be used and when it should be avoided

Framing of a house
A website framework can help or hinder a site.

At a web design conference that I recently attended, one of the topics of discussion was whether or not websites should use existing frameworks in their development and eventual deployment. A number of the presenters at this conference referenced this point, with all of them suggesting that frameworks should not be a part of production websites, but should instead be used only as prototyping tools.

I found this conversation interesting, in part because website frameworks have never been a part of my own workflow and, until this conference, I did not realize how much a role they play for many web professionals today.

When I started in this industry in the late 1990s, there were no website frameworks to utilize. Everything needed to be coded from scratch, so that is how I learned to build websites and it is the process that I still use today. My only real exposure to website frameworks has been on a handful of sites that I did not create myself, but which I was asked to do some work on, which utilized frameworks. From even that little bit of exposure, I could see both the benefits and drawbacks of starting a project with one of these frameworks.

What Is a Website Framework?

According to Wikipedia, “Web frameworks aim to alleviate the overhead associated with common activities performed in web development.

For example, many web frameworks provide libraries for database access, templating frameworks and session management, and they often promote code reuse.”

In a nutshell, a website framework is a starting point for the development of a site. Instead of needing to build everything from scratch, a framework will have many of the commonly needed elements for a site and its functionality already in place.

The Benefits of Frameworks

The most obvious benefit of using a website framework is that it saves you time in your development process. Hand coding a site from the ground up is a meticulous and time consuming endeavor. Starting with a framework can significantly reduce the amount of time you will need to create a site. This can allow you to do more work at a quicker pace, which is good for your client (they get their site faster) and for you (you can do more work and bill more time).

Another benefit of frameworks is that is that they may include features that you would be challenged to produce on your own. Say you do not know how to create a fully responsive website. By starting with a framework that includes responsive styles, you can easily create a website that supports a wide range of screen sizes and devices without needing to hand code all the media queries and styles that would be required to build that site from the ground up. Because your selected framework has these features built in, your new website will have them as well.

The Drawbacks of Frameworks

While frameworks can certainly save you time and effort, they also come with plenty of drawbacks that you must consider before you decide to use one of those frameworks in your work.

The primary drawback of frameworks is that they are not all created equally, and many sites built upon website frameworks are often unnecessarily bloated. Because a framework includes lots and lots of code in order to cover a wide range of needs, the sites that they produce are often weighed down by this code, much of which is not necessary for your particular site. You could go into the framework code and remove any parts that you are not using, but very few people who uses a framework do this because it takes lots of time to do so, negating one of the primary benefits of using the framework in the first place (time savings). The end result is websites that are too heavy and which often suffer from poor website performance and speed. Once again, not all website frameworks are the same, and I have seen some that perform rather well, but I have also seen many that are abysmally slow loading and heavy.

Another drawback of website frameworks is that they can encourage laziness, especially in newer web professionals. If you start every project with a certain framework, that can quickly become a crutch for you. If you then join a company or have to work on a project that does use that framework, you may find yourself struggling to complete that work without your framework crutch. This may sound harsh, but it is a situation I have seen many times when a web designer is all but crippled without the ability to use a Wordpress theme or another website framework which they have grown comfortable with. They never learned how to code a site from the ground up, because they simply turned to one of these solutions instead. In turn, when they are posed with a problem that must be solved through custom design and coding, they are hampered in a way that I do not see in web professionals who do routinely hand code sites from scratch.

This is why many of the web professionals who spoke at that aforementioned web conference I attended suggested that frameworks should be avoided for production websites. At its core, web design is about solving problems. If you immediately begin every project with the same solution (ie: the same website framework), you are saying that all these problems have the same solution. That is unlikely to be the case, so take the time to address each project and problem individually and come up with the right solution for each use case.

Deciding What Is Right for Your Project

Website frameworks can be a wonderful way to quickly prototype an idea and to show clients website interactivity that they would not get in a static, Photoshop-created website comp. The benefits of frameworks are welcome in these cases, and the drawback of too-heavy code filled with extra bits you are not using is moot because this is only a demo which will be viewing a controlled environment (as opposed to a live website which will be viewing by many different people in many different circumstances).

This is where frameworks excel, but once you have conveyed your idea and are ready to move into production, that framework should likely stay behind.

I have heard some web designers argue that frameworks are a good choice when the project is a small one with a very limited budget, or perhaps a site you are doing pro-bono for a non-profit client. In these cases, the time savings that a framework would provide would be ideal, but if your framework is a heavy one, you may still be deploying a site that is likely to suffer from performance issues due to the extra framework code. That is something you will need to address if you want that website to be successful.

So should frameworks ever be used in production? Yes, there are some cases where it does make sense. I have seen some web designers who have created their own frameworks, or have actually spent the time to strip out the unneeded parts of an existing framework, and they use that in their work. This may be a great way to get some of the benefits of a website starting point without also succumbing to many of the aforementioned drawbacks of frameworks.

If you find a framework that works well for you and which performs admirably, there may be instances like this where that is the right solution for a project, but it is not the right solution for every project! If you use a framework because it is the right solution for your project, that is acceptable. Using it because it is the only solution you know is not. Do not allow a framework to become your web design crutch and do not allow frameworks to replace the need to learn how to write HTML and CSS by hand.