Angry Thoughts
Published in

Angry Thoughts

How to pick a frontend framework

frontend-framework-blog-angry-ventures-James-Harrison

When I was just starting, the choice seemed pretty simple for frontend development. Angular, React, and Vue always seems to occupy the top positions in Web Developments’ Greatest Hits (feat. Pitbull somehow) as the top frontend frameworks.

However, the choice goes deeper than just those three. As I progressed, I bumped into the Gatsbies, the Nuxts and the Nexts. They all can do their unique party tricks, and being able to choose appropriately can avoid a lot of headaches when developing websites and apps.

I know the term framework gets thrown around a lot like an all-encompassing word for different ways of using JavaScript (JS), even though sometimes that is technically not correct. So, I’m going to do just that for the sake of convenience!

Some advice here is applicable to all kinds of programming tools, but this article will be focusing primarily on Frontend JS Frameworks.

Popularity is important

Listen, I know you still have PTSD from high school but hear me out…

Popularity means greater chances that a particular tool will be present in a higher number of projects and, therefore, there will be a lot more transferable knowledge you can keep throughout your career. In certain cases, there are even topics that you can use across multiple frameworks.

For example, Gatsby and Next both emerged from the popularity of React! You might even be able to identify specific isolated methodologies or patterns that occur in multiple very different frameworks. Besides, understanding those patterns indicates what patterns will likely be more critical/reusable throughout your career.

Generally, choosing a popular framework guarantees you will have more support options for that tool. It means that the creators of those frameworks are more likely to keep them up to date and create better documentation for them. It also means more plugins/extensions and a more extensive community around it with whom to learn from.

From a professional standpoint, all this means that there should be a higher search in positions requiring knowledge of these frameworks. Thus, it is easier to compensate for the challenge of learning a new tool with job security.

Developer experience in frontend framework

Everybody talks about User Experience, but what about Developer Experience?? We have feelings too!! At least the minority of us are not completely dead inside or have not completed the machine-thinking assimilation process.

You might have heard this and that about a certain frontend framework; you might have checked out their website, and their homepage looks great; maybe it’s very popular and has great resources, but does it feel right to you? The only way to truly find out is to get your hands on it, start following tutorials and build a mini-project.

Consider these questions.

There is a lot of nuance with these kinds of things. Do you like the philosophy behind the tool?

Some frameworks are jacks of all trades but master of none, while others are targeted towards very specific goals. Do they align with yours?

What about the most basic parts of working with code? How do the frameworks change that? Does it have an impact on readability? Do you like how logic and presentation concerns are separated? The file structure of projects? The details behind what you experience when you use a framework are really limitless, and it’s really up to you to figure out how that affects your experience.

Rendering is also a factor

Different rendering paradigms have significant impacts on web apps. The general division exists between Client-side Rendering (CSR) and Server-side Rendering (SSR). Between those extremes, there is a whole spectrum of different techniques.

In general, SSR rendering should be better for apps that frequently update, like social media sites. In contrast, pure CSR methods won’t allow for that kind of updating. Unfortunately, SSR also tends to be more expensive, both in development time, due to configuration, as well as server demands.

There are also in-between approaches like Reacts’ hydration process and…

Speaking of which! Whether or not your rendering method produces static pages or a is also something to look into since static pages are more SEO friendly and thus are better suited for Digital Marketing, which is why I’m leaving behind.

Unless I’m developing something like a back office where traffic won’t be measured, I would consider Gatsby, a frontend framework I already use frequently and really dislike several aspects of it.

My next logical step seems to be Next.js. I am really looking forward to trying it out, and I hope this article helps you find your way too. Farewell!

Originally published at https://angry.ventures on December 9, 2021.

--

--

--

We’re a digital studio with almost a decade of experience, challenges, victories, and failures. It could be said that our core areas of knowledge range from software development and digital marketing to service design and new business development. www.angry.ventures

Recommended from Medium

Study about Chrome Extension

How to create a web application using NPM and Docker in 5 minutes or less

TIL Bulma JWT

Next.js — How to Set Up i18next and Translation Management

Day 79/100 Tables

The Word Unscrambler

REST API: Java Spring Boot and MongoDB

The Real “RouteWithProps” React Component in TypeScript

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Angry Ventures

Angry Ventures

We're a venture studio made by awesome people who strive to help clients build outstanding tech and marketing products

More from Medium

Application Frameworks(JavaScript) and software related principles

How do I plan a long-term software development project?

How do I plan a long-term software development project?

Career tracks in IT and Digital

The Story of Technology Overview: Trends In 2021