You Probably Don't Need a Framework

Ryan Nehring by Mystic Art Design from Pixabay

Framework fear and fatigue plagues the hearts and minds of developers the world over. It seems there’s a new one being developed every day, while the one you’ve just started beginning to understand falls out of favor. Coders in 2020 could be forgiven for feeling like they’re stuck in a game of never-ending framework whack-a-mole.

We are beginning to witness a Darwinian survival-of-the-fittest distillation, particularly in front-end frameworks, which has left us with the 3 giants: React, Vue, and Angular. This doesn’t really solve the developers' dilemma though, especially as these giants evolve into larger, ever more complex versions of themselves.

You’ve just begun to figure out Redux? Who cares, we’re all talking about hooks now. Getting a handle on the Vue CLI? Who uses that anymore? They’ve got a GUI now; and just how the heck many versions of Angular are there anyway? Scaling back to a 30,000-foot view, how does a developer even decide which of these frameworks to commit to failing to keep up with in the first place?!

Also, they all look really hard. It’s not just a framework, it’s all the tooling that goes with it. Now I have to understand pre-processors and webpack and npm or yarn etc.

Fear Not

Firstly, let’s re-establish some perspective. All of these frameworks are just tools. A methodology created to accomplish a goal. The primary question you have to ask yourself is: Do I even need one of these for my project?

For me, the answer has almost universally been a resounding, “nope”!

The vast majority of projects I work on day-in and day-out use a simple Vanilla JS layer talking to a backend PHP script via AJAX. PHP handles the database operations or heavy business logic and returns what I want to my front end using JSON, and guess what? It works beautifully.

Take an honest stock of what you’re trying to accomplish with your project. Does this really need a Virtual DOM? Will I have so many concurrent users that I need to be terrified of scaling? Do I need, or even want the components I’m building here to be reusable?

You may be amazed how often the answer is “no”. In fact, I’d argue the answer is almost always no if you’re being honest. You can certainly drag out an air compressor, power nailer, special nails to load into the nailer, extension cords to power the compressor and then use all of those things to hang a picture above your fireplace, but honestly wouldn’t a hammer be the right tool to do that job?

No, But Seriously My Project Does Need a Framework

Let's twist that scenario above just a bit and say you’re building a massive tri-level deck for your home. You can do it with a hammer, but in this case, the setup and effort for that air nailer is going to make things go so much easier and save your arms a lot of soreness in the long run. So how do you pick your toolset?

The secret is, it doesn’t much matter. More important is picking one and spending some time learning it’s ways. I’ve always found Vue to be the most approachable of the 3, but you may find you’re more of an Angular or React inclined person. At the end of the day, they’re just ways of using Javascript, and you (should) already know Javascript!

These are not things to fear, they are tools at your disposal, and I want to stress the word “disposal”. The minute you find they don’t serve the purpose you’re trying to achieve, dump them. Your users will never know or care what tech stack you used to build the tool they’re using, but they will care that it works as intended and is easy to use.

And That’s The Whole Point

Building working software that increases productivity or eases the difficulty of a job is a noble task. Building software to impress other Devs? Not so much. It’s so easy to get caught up in the weeds and forget who we’re developing for; the user.

Frameworks absolutely have an important place in development today but needn’t be feared or mandatory. Use them as you would any other tool, when and where appropriate. The brand of hammer isn’t important, but knowing which side is the claw and which is the striker is because ultimately, that picture needs to be hung and the person who admires it won’t care how it got there.

Comments / 0

Published by

Honest and informed articles on politics, race, equity, and tech.


More from Ryan Nehring

Comments / 0