Two things to consider before using a front-end javascript framework in your next project

 

Does you're next project need a javascript front-end framework like React, Angular or Vue? Probably not.

door Corstiaan Hesselink

Laatste wijziging: Thursday May 10, 2018Leestijd: 4 minutes

Ah, the fresh green pastures of a new project. A simple File -> New is all that stands between you and a whole new world of possibilities. It’s a glorious world. A world where only the latest libraries and dependencies will be a allowed. A world unhindered by technical debt or legacy code. A world where 100% test coverage this time definitely will be implemented. Behold, my comrades, a developers utopia.

But you shall soon (again) realise that like all utopia’s, this one can also only be build and sustained by the hand of tyranny. Your own tyranny. And like all tyrants, you too shall be the cause of your own undoing, unable to control the intricate machinery that is your application’s growth. Your application will slowly begin to foster undercurrents of resistance against you and rebelliously dethrone you as it’s self-proclaimed leader. Your code is now in charge and commands you to do it’s bidding instead of the other way around.

Sounds familiar? We all have lofty ambitions when starting a new project. This is 100% normal. But these lofty ambitions generally lead to bold decisions and bold decisions lead to applications becoming unmanageable. Here are 2 questions to ask yourself when starting a new project and considering using a front-end javascript framework.

1. Why do you want to use a front-end framework? What value does is add to your project?

The truth is that most web projects don’t need a front-end framework. Unless you are building a web app that is more like a desktop application in terms of user experience, a front-end framework is not worth the hassle and will be in the way more than it will be of assistance. Using a front-end framework “because you just want to” is a sure way to kill the project and your personal well-being as it will suck the time out of your day as you will be maintaining two complicated systems (your back- AND front-end) instead of one. Only use a front-end framework when the reasons for doing so are crystal clear and inline with the goals of the project.

2. Can my team support it?

If you are going solo on a project you should do everything within your power to meet the projects criteria with the simplest stack possible. For this reason I generally tend to stay away from front-end javascript frameworks. Using one generally implies that you are going to have to build an api instead of rendering the views server side. Most web application frameworks have well thought-out features to support server side rendering of views. Ditching these for an api means that you have to wire up a lot of stuff yourself that would otherwise be handled for you out of the box. The same goes for things like user management of other stuff that generally is wel integrated in modern server side frameworks, but often need to be retooled to a lesser or greater extend when switching to an api.

The sum of all these decisions is the reason Basecamp and DHH are still fans of the majestic monolith and javascript sprinkles. And for good reason. Even small to mid-sized teams should be careful and vow for simplicity as a driving factor at all times. The risk of your project becoming hard to manage is too big.

Does your project need a front-end framework? The answer will be no 90% of the time. This is not to say that front-end frameworks are not any good. They are good when used in the right way and for the right reasons. Be mindful of having too much of a good thing though. Keep it simple, as always.

Kom bij de club

Meld je aan en ontdek als eerste nieuws, kennis en inzicht over software, development en technologie. Direct in je mailbox, met mijn geen-spam-garantie™.