Frameworks: Yay! Nay! How do you decide?
Frameworks in web development have been the hotness for a few years now. But not everyone is “frameworks! yay!” A few high profile developers have questioned their use.
The goal of frameworks — be they server side, JavaScript-based, or CSS-based — is to decrease development time. With server-side frameworks, I also find that they force some organization and structure to my code that it might not otherwise have. But every framework has a learning curve.
They also come with a performance cost. More code means more processing time and/or effort, longer download times and — this is particularly important when talking about client-side code for mobile devices — more energy consumption.
There’s a trade off with frameworks, then, between development ease and optimized code.
I personally think CSS frameworks are overkill. Even using a reset style sheet is often more code than necessary. With JavaScript frameworks, my opinion is more balanced. JavaScript frameworks are wonderful for quickly creating animated effects. But if the task is just to toggle the visibility of an element or clear a search box, surely, custom code is the lighter weight option.
The one area where I am most in favor of using frameworks is application development. Applications have a lot of little pieces to worry about. I kind of like the reassurances that frameworks offer. That said, I agree with Rasmus Lerdorf that a good framework should be lightweight and speedy (his favorite, if you can call it that, is CodeIgniter).
But what about you? How do you decide whether to develop something yourself or use a framework / library? Do you prefer frameworks for developing server-side applications? What about for client-side development? When, where, and why do you use frameworks?















