Skip to content

Commit

Permalink
Add state of js reactions and predictions post
Browse files Browse the repository at this point in the history
  • Loading branch information
raymondluong committed Aug 29, 2024
1 parent d90f7be commit d5f8065
Showing 1 changed file with 66 additions and 0 deletions.
66 changes: 66 additions & 0 deletions src/content/blog/state-of-js-2023-reactions-and-predictions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
---
title: 'State of JS 2023: Reactions and Predictions'
date: '2024-07-24'
tags:
- Front-end
- JavaScript
description: 'Reacting to the State of JS 2023 survey results and making predictions for the future.'
---

I look forward to seeing the [State of JS results](https://2023.stateofjs.com/en-US) every year because they offer a snapshot into how people are feeling about the current state of the ecosystem and how sentiment changes over time. What I love about the front end ecosystem is the pace of innovation and appetite for continual improvement, and the survey results depict just that.

To start off, maybe it’s just me being a huge nerd but I love [this t-shirt](https://2023.stateofjs.com/en-US/tshirt/). I have more graphic tees than I need, but I will still be buying this. I love the retro style and I’ll fit right in wearing this around downtown San Francisco. 🤓

**Language features** ([link](https://2023.stateofjs.com/en-US/features/))

- Nullish coalescing understandably takes first place as the most used new language feature. This feature is such a nice quality of life improvement. I remember a time when optional chaining and nullish coalescing were _the_ hottest TC39 proposals. Happy to see them added to the language and gain adoption.
- Not sure if it’s just me, but I still find the logical assignment operators (`||=` and `&&=` ) hard to wrap my head around and I need to open the MDN page each time I stumble upon it.
- Exciting to see that 6% of folks have used the new Temporal API. I’m expecting an increase next year as more folks try out the polyfill. Looking forward to when we can finally get rid of moment, date-fns, luxon, etc.
- Surprised that ESM & CJS is only 9% under Language Pain Points. Maybe I’m just biased as I’ve worked on build tooling more recently, but this was such a huge pain point when migrating my previous company’s stack from Webpack to Vite.

**Front-end Frameworks** ([link](https://2023.stateofjs.com/en-US/libraries/front-end-frameworks/))

- No surprise that React is still the most used library, and it will probably continue to be so for the next couple of years. Interest, retention, and positivity for React have been slightly declining for the past few years. But migrating frameworks is no easy task (shoutout to everyone using Rails), and I’ve not seen a viable competitor that can really usurp React’s throne.
- Awareness of some newer frameworks is increasing – most notably Solid and Qwik, the former having the highest retention. Though as I mentioned above, migrating frameworks in a production environment is hard. I would be curious to see the percentage breakdown of usage in production environment vs personal projects. I’d bet the percentage usage of React (and Angular and Vue) would be even higher in production environments.
- Retention score values are so tightly clustered together that the differences feel fairly insignificant. But these continue the trend of the newest frameworks having the highest retention scores that gradually start to drop once they hit critical mass.
- Angular’s interest hit its lowest in 2021, and has since seen a slight increase. The folks at Angular are doing good work and, post rebrand, I wonder if we’ll see this trend continue as people slowly come to learn that the Angular of today is very different than the Angular of yore.
- Top pain point = “React issues” 💀

**Meta-Frameworks** ([link](https://2023.stateofjs.com/en-US/libraries/meta-frameworks/))

- Next continues to be the dominant player, though interest and retention have fallen. I imagine its tight coupling with React means it’ll follow a similar trajectory.
- Astro takes #1 in retention for the first time! Just slightly edging out SvelteKit and SolidStart. I use Astro to build this website and I have only had positive experiences with it.
- RIP Gatsby. It was fun while it lasted.
- There are so many random meta-frameworks that I’ve never heard of, especially looking at the Other section. Could have easily been a chart of fake framework names generated by ChatGPT.
- Similar to the Front-end Frameworks pain points – the top Meta-Framework issue is “Next.js issues”. Easy to hate on the top player.

**Testing** ([link](https://2023.stateofjs.com/en-US/libraries/testing/))

- Jest retains its position as the most used. Though interest has started to fallen. In 5-10 years, it will probably be where Mocha is today.
- Vitest claims the top interest and retention for the second year in a row. Goes hand in hand with the rise of Vite.
- Storybook continues to maintain its dominance in isolated component testing, especially for design systems. Are there any competitors in the space?

**Build Tools** ([link](https://2023.stateofjs.com/en-US/libraries/build_tools/))

- I’m impressed at how steep Vite’s usage line is, from 48% in 2022 to 73% in 2023. Vite has a 98% retention score for a reason. It is a fantastic tool and offers a much better experience than Webpack. I migrated my previous company’s tooling from Webpack to Vite, and I hope to do the same at my current company. Webpack, thank you for all that you have done for the build tool ecosystem, but it’s time to pull a Biden and step aside.
- I imagine the positive slopes for Rollup are related to the rise of Vite, as Vite uses Rollup for production builds. So if you’ve ever needed to write a custom Vite plugin, you most likely have had to jump to Rollup’s documentation. I’m looking forward to seeing how Rolldown will shake things up whenever that’s ready.

**Other**

- No comments about mobile & desktop and monorepo tools as I’ve not really used them.
- People are still using lodash, date-fns, and moment?! Wish there were charts for the usage of these over time.
- In AI tools, ChatGPT and Copilot are dominant, as expected. Will be curious to see how this changes next year.
- Syntax and JS Party are great podcasts! Definitely recommend if you’re an audio learner. I love the front end feud segments on JS Party in particular.
- Wish there was a section on linters and formatters. ESLint and Prettier are the dominant players, but Biome is gaining traction, and I’d be interested to see how the percentage of the market shifts over time as folks migrate to Biome for the speed benefits.

**Predictions**

- React, Jest, and Next remain the most used in their respective categories.
- Vue and Angular will continue to hover around 45-50% usage, occupying a decent share of the market but not having enough interest to make a meaningful change.
- Solid will keep its number one spot in retention and rise from two to one in interest.
- Biome gains significant traction.
- Vite will overtake Webpack in usage to become the most used, sweeping all the first place positions across all build tools.
- Astro enters the top 3 in usage for meta-frameworks and retains its number one spot in interest and retention.
- The survey team debates removing Gatsby altogether, but keeps it in for another year.

See you next year!

0 comments on commit d5f8065

Please sign in to comment.