Commitment Issues: Dev Guide to Lovin’ Your Framework
With a plethora of frameworks readily available to choose from, sometimes it can be a bit overwhelming to choose one that is right for you.
Here at Intridea, we tend to gravitate towards Bootstrap as a base for our projects such as Humanprogress.org; even this site has some traces of Bootstrap in its core! Using Bootstrap works because it’s easy to get started, gets the job done, and with tools like Divshot, we can get a prototype off the ground in no time.
Frameworks help get things out the door quicker, but sometimes as the project expands, you start to experience growing pains and the technical debt starts to pile up. Not only that, but let's face it–not every project is the same and they all have their own specific requirements and surprises.
In many instances the framework can’t always handle such elements. Thus, there are usually three inevitable phases that come along when using a framework…
Note: These may not always apply to each framework.
Phase 1: The Honeymoon
This is the phase where everything usually just works and you can’t find any faults. Everything about the framework is perfect and you don’t second guess the decision to use it for every project no matter how big or small. You start to really fall in love with the framework and things can’t get any better….
Phase 2: The Challenge
This phase is where reality sets in, things can get extremely frustrating, and your framework “commitment issues” begin to creep up.
Your beloved framework is doing more harm than good. You find yourself overriding everything and changing core components– leaving you with a hybrid framework or complete mess!
You begin to realize that your markup is starting to look like its been through a blender and it’s tightly coupled and it’s going to be a nightmare to maintain! At this point, you also start playing the questioning game, second guessing your "new love" and wondering if this was a huge mistake…
Phase 3: Road to Recovery
When you reach the breaking point, you tend to go into survival mode, seeking all viable options…
Questions that come to mind are:
- How much of the framework am I actually using?
- Is it too late to try something else?
- Should we scrap this and start over?
- How can you prevent yourself from making the same mistakes again?
Well lucky for you, we've run into these issues before and thus embarked on creating a solution…we call it: The Commitment Analyzer! It’s a simple bookmarklet that scans the current page and gives you insights as to how committed you really are to that framework.
This is useful because you might determine that you are using very little of that framework, or that you are in deep. If the framework has a build tool like Bootstrap this can help you pick and choose which components to include, that way you only have what you really need.
The bookmarklet currently has support for Bootstrap 3 and Foundation 5 with more coming down the road. The biggest caveat is that you have to run it on a page by page basis but nonetheless, it beats doing a find all in your project for each class name.
Let us know if you have any suggestions or if you want to add a framework head over to the Commitment Analyzer.
Drag this to your bookmark bar, navigate to the page you want to analyze, open up the console and run it.