We, developers, love frameworks — let’s admit it. Whenever someone develops something new and pushes it on GitHub, we have to be there and use it right away.
But most of the time you don't really need a framework. And here is why:
It over complicates things
Just picture this: You want to code a 3-column layout. Do you really need Bootstrap or some other CSS framework this?! I don’t think so. I think you’re better off with
display: grid or
display: flex . There, problem solved.
You have to learn the basic things
When you’re getting started with a CSS framework, you’ll first need to learn the basic stuff.
- How do I set up my containers?
- Which classes do I add in order to make buttons and input fields look good?
Most of the time you would be done with your app before you learned all the basic things.
frameworks make your app more complex and bloated
By importing a framework in your application you make your app significantly bigger. And most of the time you don’t need the whole framework. Maybe you just want to use the grid/layout part or just the modal window component. Most of the time you’re better off without the framework.
Beginners should learn the basics of programming
I cannot stress enough how right he was! First, learn the basics of your desired programming language before you use a framework.
frameworks limit your creativity
Programming is about solving problems as efficiently as possible. You have to come up with good solutions to solve complex problems. But frameworks restrict you. They want you to solve certain problems in a certain way. So the answer is basically given. This way, you can’t discover your own solutions.
Creativity should be trained whenever possible. Later if you work without frameworks you should know how to find your own solutions.
if the framework gets abandoned — you’re f*#$ed
If the developer of your favorite framework suddenly gets tired of it and stops the development, it’s bad news for you. You end up with third-party code in your application that doesn’t get any more development or security fixes. Of course, you can always start to maintain it yourself, but that contradicts the whole “saving-time-approach” of frameworks.
you have to update the framework
That’s exactly the opposite of the point above. If the framework continues to evolve, it must be updated all the time. Updating your third-party software is absolutely crucial. If you don’t do updates for months/years, you’ll have to update from one major version to the next — and that rarely works.
you have to ask for help
Luckily, the programming community is a really nice one. Actually, no one gets mad at you for asking questions, almost everyone likes to help out a fellow developer. Imagine the world without stackoverflow.com — or better: DON’T, it’s no world worth living in😄
Just kidding. But every time you have to ask for help you lose time you could have spent with actual development.
Of course, there are just as many points on the pro side. What I wanted to achieve with this article is the following: Don’t use a framework just because it’s cool. Or because you are bored. Or because someone tells you.
Only use a framework when you have a good reason for it.
If you have an other opinion on frameworks, I would appreciate a comment below. Or as usual, hit me up on Twitter.