Why I don't use frameworks
I don’t use frameworks, and rather than use one yourself I’d recommend making your own.
Frameworks are useful for speeding up the production of a project, once you’ve learned them. But until then they’re slow to use (because you’re working it out), hard to debug (because you’re working it out), and can limit your design - because you will end up altering the design to fit what you can do with the framework at the time.
Fine and dandy, but once you know one you don’t have those problems. You have others instead though, because you’re stuck with whatever limitations it has built in. All techniques (and frameworks, which are just a big collection of techniques) have a flaw somewhere - be it classitis, an inflexible grid systems, dictating mark-up, bloated file-size, or any number of other factors. If you only know that framework, you’re stuck with whichever drawbacks it has.
It’s far better in my opinion to learn the techniques yourself and make your own systems/framework. That’s why I do not use any frameworks even though I do look at a few to see what ideas and techniques they’re using. If I learn something new from one, I’ll usually incorporate it into my own personal “framework” (I use the term lightly, this is a starting point for new projects, not an all-things-to-all-men framework).
- Sun, 26th Aug 2012 at 20:08 UTC
- Filed under:
Commentsskip to comment form
The benefit you receive from a framework is the best and the brightest minds in the field working to solve a problem similar to the one you are working on.
Staying away from frameworks is too much like "not invente here" syndrome.
While you raise some good points and it sounds right, where would we be if we kept reinventing the wheel instead of standing on the shoulders of giants?
@Shawn - I agree with you providing you understand the framework. But blindly using one is just a different way to cut yourself using a more abstracted knife.
It's not about 'reinventing the wheel' - it's about properly understanding the tools, their pro's and con's, and when to use what. I use *parts* of frameworks in my own framework. But I know my framework inside-out. Would I rely on one I don't? No.
(Late-comer to your blog. I really like it.) This is something I struggle a lot with as a perpetually over-committed perfectionist.
I, too, have my own "framework" (that I iterate as frequently as schedule permits often by "borrowing" techniques I find upon the shoulders of assorted giants) so I'm past the point of using grid systems. I'm even getting better, like you are, about not gratuitously using jQuery.
Which makes me think that perhaps the best way for a superduper busy working developer to use frameworks is sort of as "knowledge polyfills." Hacks required to shim the shortcomings in your current version of knowledge until you can do the necessary brain version update. Hacks that allow you to ship a project today, but that you hope one day will no longer be necessary.
I'm sure there is a more proper technical distinction between a framework and a library, but reading you grapple with the two terms above, almost makes it seem like a "framework" is something you sense that you really ought to know yourself, where a "library" is a smarter person than you figuring out the canonical best way of doing things that there's no point in your messing with
I used zurbs foundation for my first responsive site. It really helped to get me going and understand the capabilities. But I spent a good chunk of my time today revisitng the site and removing unused classes to try and speed up my page load. In future now that I better understand how to build my own framework I will start from scratch and build my own. No harm in learning from the experts though!
Thats why you use and learn frameworks on personal projects to work out everything, know the framework inside out before doing anything else.
That said, using frameworks for wireframing and mockups are great.
Well, I love frameworks. jQuery is a definitely a great library to use. Big? Are you on a 2400baud modem? Get jQuery mobile then. AngularJS is another one that I am happy it exists.
Frameworks/libraries simplify and streamline operations. I have no time to code raw JS, PHP or write MySQL queries. I can have an elegant solution do that for me while I concentrate in tasks that really matter. There's no need to re-invent the wheel.