mirror of
https://github.com/wasp-lang/wasp.git
synced 2024-12-28 11:34:41 +03:00
70 lines
3.8 KiB
Markdown
70 lines
3.8 KiB
Markdown
---
|
||
title: "The Best Web App Framework Doesn't Exist"
|
||
authors: [vinny]
|
||
image: /img/best-framework/pretending.png
|
||
tags: [framework, StateOfJS, react, webdev]
|
||
---
|
||
|
||
import Link from '@docusaurus/Link';
|
||
import useBaseUrl from '@docusaurus/useBaseUrl';
|
||
|
||
import InBlogCta from './components/InBlogCta';
|
||
import WaspIntro from './_wasp-intro.md';
|
||
import ImgWithCaption from './components/ImgWithCaption'
|
||
|
||
<br/>
|
||
|
||
The web app framework you choose doesn’t *really* matter. Well, it matters, just not as much as others would like you to believe.
|
||
|
||
The fact that so many libraries and frameworks exist in 2023, and that **the best one** is [still hotly debated](https://joshcollinsworth.com/blog/self-fulfilling-prophecy-of-react), proves my point. It’s the web developers biggest “first-world problem” — a problem that’s not really a problem. On Maslow’s *Hierarchy of Developer Needs,* it’s definitely near the top (ok, I made that up 😅)
|
||
|
||
<br/>
|
||
<ImgWithCaption
|
||
alt="hierarchy of developer needs"
|
||
source="img/best-framework/hierarchy-of-dev-needs.png"
|
||
/>
|
||
<br/>
|
||
|
||
<!--truncate-->
|
||
|
||
For example, according the the [StateOfJS](https://2022.stateofjs.com/en-US/libraries/front-end-frameworks/) survey, there were 5 Front-end Frameworks with good retention in 2018, now there are 11 in 2022. That’s a 120% increase in a matter of 4 years, and that’s not even taking into account the hot meta-frameworks like NextJS, SvelteKit, or Astro!
|
||
|
||
<br/>
|
||
<ImgWithCaption
|
||
alt="State of JS 2022"
|
||
source="img/best-framework/state-of-js.png"
|
||
caption="A growing family of frameworks..."
|
||
/>
|
||
<br/>
|
||
|
||
These are great developments for the space, overall. They improve things like developer speed, bundle size, performance, and developer experience. But they also make it damn hard for developers and teams to make a decision when trying to decide which to use for their next project. It’s even worse for beginners, which is probably why they just go for React — which, of course, is perfectly fine.
|
||
|
||
And I think all of this is OK, because in the end it doesn’t really matter which one you choose. When it really comes down to it, all that matters is that the framework you chose:
|
||
|
||
- Is stable
|
||
- Allows you to move quickly
|
||
- Allows you to reach your end goal
|
||
|
||
Why? Because most of them are built around the same concepts, have proven themselves capable of performing at scale, and have communities you can engage with and learn from.
|
||
|
||
React might be the most prominent in job descriptions, but if you’re looking for a new role and only have experience in Vue or Angular, I can’t imagine it would take you more than a week to build a side-project with React to display your ability to prospective employers.
|
||
|
||
On the flip side, if you’re a beginner or Junior dev, once you have the basics of HTML, CSS, and JS under your belt, it doesn’t really matter what framework you learn. I personally started learning backend development with Node/ExpressJS, but landed my first role as a Frontend developer with Angular. In my second role I used NextJS, and now I work with [Wasp](https://wasp-lang.dev) (a full-stack framework built on top of React and ExpressJS). [Developers never stop learning](https://www.youtube.com/watch?v=gl5HvBpUbt8), so it’s kind of a non-argument to deride any specific framework — unless it really sucks, but then no one will continue to use it anyway.
|
||
|
||
<br/>
|
||
<ImgWithCaption
|
||
alt="Use what works"
|
||
source="img/best-framework/midwitwasp.jpeg"
|
||
/>
|
||
<br/>
|
||
|
||
So, in the end, use what works. Because in 99.99% of cases, your choice of web framework will not decide the fate of your project.
|
||
|
||
If you’ve done a bit of research and found a framework that suits your needs and you enjoy using it — use it. There’s really no good reason not to.
|
||
|
||
<br/>
|
||
<hr/>
|
||
|
||
*Want to stay in the loop? → [Join our newsletter!](/#signup)*
|
||
|