Table of Contents
Most Popular Projects Overall
Trends in 2022
GitHub data
- Created2021-04
- Total stars37.3k☆
Links
- GitHub
- Homepage
Tauri
React
Next.js
Vite
tRPC
Astro
VS Code
Tabby
Playwright
Front-end Frameworks
React
Qwik
Solid
Svelte
Vue.js 2
React is still the King in 2022 but Vue.js is close in terms of popularity if you consider that Vue.js stars are split between v2 and v3 repositories.
The main change is the raise of Qwik at the position 2. Qwik is similar to React, it also uses components written in JSX for templates but the main difference is the focus on shipping the least amount of JavaScript in the browser.
It's part of the trend of "Zero baseline JavaScript" frameworks. Sites and applications are often bloated with heavy JavaScript assets that affect the performance in the browser: even if the page is rendered on the server, users have to wait until JavaScript is loaded, parsed and executed to be able to interact with the page.
Instead of relying on hydration to bring interactivity to pages generated on the server, Qwik uses a technique called resumability to deliver HTML that is instantly interactive. It works by serializing the state of the application in the HTML itself.
The project is led by Miško Hevery, the creator of AngularJS whose slogan was "HTML enhanced for web apps" while Qwik is "the HTML-first framework"... somehow the same intention of building apps on top of the good old HTML.
React Ecosystem
Next.js
tRPC
Mantine
Excalidraw
Zustand
Guest Writer: Lee Robinson
Lee Robinson is a developer, writer, and creator who works at Vercel as VP of Developer Experience.
![Guest Writer leerob](/_next/image?url=%2Fimg%2Fguests%2Fleerob.jpg&w=256&q=75)
2022 saw React become more opinionated.
React is still a library that can be sprinkled into any webpage, but it’s also evolved into an architecture frameworks can follow to create interactive, resilient, and performance frontend patterns.
The React 18 release (in March) included concurrent features and APIs largely providing architecture patterns for frameworks. Consider React Server Components, designed to be implemented in conjunction with these new architecture patterns. Some conventions have now been standardized between React frameworks (e.g. use client) and others are being incubated (e.g. async/await in Server Components) during beta periods.
In 2023, we’ll continue to see innovations using React’s new primitives, but also in the larger React ecosystem. The growth of libraries for improved type safety, as well as UI components, will continue to rise.
Vue Ecosystem
Slidev
Nuxt 3
![Vue Element Admin](https://bestofjs.org/logos/vueelementadmin.png)
Vue Element Admin
AutoAnimate
Headless UI
Guest Writer: Anthony Fu
Core team member of vuejs, Vite and Nuxt. Creator of VueUse and Slidev.
![Guest Writer antfu](/_next/image?url=%2Fimg%2Fguests%2Fantfu.jpg&w=256&q=75)
This year we got many major updates of Vue. Vue 2.7 brings the native Composition API support and <script setup>
syntax back to Vue 2.
Making the transition to Vue 3 much smoother. <script setup>
became stable and generally available, and the new experimental "Reactivity Transform" is right around the corner to enhance the DX even further. The team is also working on a new rendering strategy called "Vapor mode", inspired by Soild.js, which could make Vue even more performant on critical parts.
The stable releases of Nuxt 3 and Vuetify 3 indicate that Vue's ecosystem is mature enough. Vite multiplies during the year, and we see a lot of adoption from Vue users, from create-vue, Nuxt, Quasar, Astro and many new frameworks. With the power of Vite, Vue users also got a much better testing/developing experience with Vitest and Histoire. We also see creative usage of Vue, like rendering a command line interface with vue-termui.
What a year for the improvements of DX! Hope the community can find those tools boosting their workflows, and looking forward to seeing what's coming next!
Back-end/Full-stack
Next.js
tRPC
Astro
Remix
Nest
The boundary between front-end and backend frameworks is a bit blurry as there is a strong trend to do more things on the server (including rendering and routing) compared to the SPA approach, where the backend is only responsible for the API. So this section includes full-stack frameworks, meta frameworks and backend frameworks.
Next.js
Like last year, Next.js leads the rankings, the version 13 brought big features including the React Server Components and a new filesystem structure using the app
folder that lets developers colocate their code related to their features and handle nested routes in a powerful way.
tRPC
The biggest change is the rise of tRPC, in second. Forget about REST versus GraphQL: there is also the JSON RPC 2.0 protocol that powers tRPC. It really shines with its feature to import the types defined in the server from the client, to provide "end-to-end type safety".
It's worth mentioning the project t3-stack that combines tRPC, Next.js and Tailwind CSS in a popular boilerplate (number 16 in the overall rankings).
Astro
In third Astro burst into the scene in 2021 as a static site generator and made the concept of partial hydration popular.
The Astro team's meticulous attention to creating smooth developer experiences is highlighted with the release of Astro 1.0.
The "baked-in" integration of the new SSR support with any frontend tool (like React and SCSS) makes web app development feel too crisp!
Remix
In fourth, Remix keeps growing at a fast pace. It was open sourced in 2021 and just one year later it was acquired by Shopify.
In the blog post The Web Next Transition Kent C. Dodds did a great job to explain the patterns that makes Remix special.
Instead of relying on static generation of pages, Remix leverages distributed computing and native browser features to deliver great performance in the browser and an amazing Developer Experience.
Build Tools
Vite
Turborepo
swc
Nx
Rome
Guest Writer: Sébastien Lorber
Sébastien is a React early adopter, working with Facebook Open-Source on Docusaurus.
He runs a weekly newsletter about React and React Native: This Week in React
![Guest Writer slorber](/_next/image?url=%2Fimg%2Fguests%2Fslorber.jpg&w=256&q=75)
This year, Vite continues its momentum and has become one of the most popular frontend tools. Its precursor Snowpack is no longer maintained and recommends using Vite. Its adoption is not limited to the Vue ecosystem: Vite is used in SvelteKit, Storybook, Vitest or even as a modern alternative to Create-React-App.
We have also seen the rise of build tools for monorepo with Nx and Turborepo. Nwrl (the company behind Nx) has taken over maintenance of Lerna and released Lerna 6 which enables Nx optimizations by default.
Although Babel remains popular, swc and esbuild have been widely adopted by many projects and meta-frameworks. These new tools allow to significantly improve build and transpilation performances. swc is a more modular choice, as it offers a plugin system.
Vercel announced Turbopack (alpha), a new very fast bundler in Rust on which Tobias Koppers (original creator of Webpack) is working.
The Rome toolchain has released its first stable version, starting with a linter and a formatter with interesting properties. The adoption is shy, but could increase this year.
Many frontend tools in Rust should make news this year:
- Lightning CSS (formerly Parcel CSS): a faster CSS toolchain
- Speedy TypeScript type checker: a faster alternative to tsc
- mdxjs-rs: a faster MDX implementation
Mobile
React Native
Expo
React Native Skia
Ionic
Quasar
Guest Writer: Evan Bacon
Lead of Developer Tools at Expo. Native iOS and Android developer. Author of Config Plugins and Expo CLI.
![Guest Writer evanbacon](/_next/image?url=%2Fimg%2Fguests%2Fevanbacon.jpg&w=256&q=75)
In 2022, the use of JavaScript for building native apps saw significant progress, as exemplified by the breakthrough success of projects like the new Replit mobile app and the integration of React Native into the Shopify app. In fact, React Native-based repositories made up 7 out of the top 10 rising stars in the mobile category this year. This comes as React Native earns its 7th consecutive year as the #1 most starred mobile repo.
In addition to the success of React Native, there was also an exciting trend towards the adoption of popular web patterns, such as the growing use of Tailwind CSS with NativeWind (#10) and advancements in universal Skia rendering (#3). The integration of classic web features, like File System-based routing in Expo (#2), further demonstrated that native app development is becoming increasingly more accessible to web developers.
It’s difficult to predict what the future holds for mobile development, but if the past year is any indication, the divide between web and native app development should continue to decrease drastically in 2023.
CSS in JavaScript
UnoCSS
vanilla-extract
Styled Components
Stitches
Emotion
Testing
Playwright
Storybook
Cypress
Puppeteer
Vitest
Desktop
Tauri
Electron
Nativefier
Neutralino
electron-builder
Static Sites
Next.js
Astro
Docusaurus
Nuxt 3
Nextra
State Management
Zustand
Pinia
Jotai
XState
Recoil
GraphQL
TanStack Query
Directus
Redwood
Hasura GraphQL Engine
Gatsby
Conclusion
2022 started with the chaos when two very popular packages were intentionally broken by their creator: Faker.js and colors.js sabotaged.
The fragility of the huge eco-system was demonstrated again when Lerna a popular tool for mono-repos was declared as un-maintained... until Nrwl, the company behind Nx, announced it was taking over stewardship of Lerna.
JavaScript is eating the world, you may have heard of this prophecy from 2009:
Any application that can be written in JavaScript, will eventually be written in JavaScript
...or in TypeScript we could add 13 years later as TypeScript is becoming the de-facto standard to write JavaScript (first class support by Deno and Bun, default setup of Next.js, out of the box support by Vite...).
The place taken by JavaScript in the code base and the tooling comes with some issues, for both developers and end-users:
- build times go out of control in large code bases
- the average size of JavaScript keeps increasing leading to poor performance
In 2022, we saw great innovations to solve these two types of problem at different layers of the stack.
The tooling improved with these solutions:
- Bun, the champion of the year takes a drastic approach to speed installations and build times
- Rome is now a linter and a formatter that aims to be the single tool to manage applications written in JS/TS.
- The building tool Vite
For the performance in the browser, different patterns compete:
- Zero baseline JavaScript frameworks to deliver nearly no JS to the browser (Qwik is leading the charge)
- Partial hydration to provide islands of interactivity to static pages (Astro)
- React Server Components (implemented by Next.js 13 and Gatsby) to delegate more work on the server side.
- The Progressively Enhanced Single Page Apps architecture implemented by Remix provides both great DX and performance in the browser without compromising any dynamic behavior
There is no silver bullet to solve these issue as the spectrum from static "pages" to fully dynamic "apps" is large.
The JavaScript landscape was once very fragmented: multiple browsers on one side, Node.js with its own CommonJS module system and its own APIs on the other side.
With the rise of the edge computing, there is now a strong trend to use everywhere the same subset of standardized APIs (fetch, HTTP Request and Response...).
Our guest writer Lee Robinson wrote a great summary of this trend in the article Why I'm Optimistic About JavaScript's Future.
And we share the optimism of his conclusion!
What an incredible time to be a web developer.
Overall winner: Bun 🏆
The trendiest project of the year is Bun: a new JavaScript runtime that is all about performance and great DX. Its popularity exploded this summer with the first Beta release: +20,000 stars on GitHub in one month. We have never seen such an explosion since we started tracking projects at Best of JS.
So what makes Bun special? Like Deno, the overall winner two years ago, it provides first-class support for TypeScript.
But Bun is not just a runtime. It's also:
So Bun can install your dependencies reading your package.json. Bun can also run your scripts. It does everything faster than anything else.
Bun is a fresh take on many aspects of the JavaScript ecosystem, focusing on performance.
It prioritizes standard Web APIs like Fetch. It supports many of the Node.js APIs, making it compatible with most NPM packages. It may not be "production-ready" (lack of Windows support) yet, but it's a very promising tool. Compared to Deno, the ecosystem is pretty new, but it already has a web framework called Elysia that claims to be the fastest HTTP framework.
The most incredible thing about Bun is that its creator, Jarred Sumner implemented all those features from scratch using a low-level language called Zig.
Check A Complete Overhaul of the JavaScript Ecosystem to get more details.
Tauri
In fifth in 2021, Tauri was even more popular in 2022 with 30,000 new stargazers. It's a project written in Rust to create cross-platform desktop applications using web technologies.
The version 1.0 was released in June.
It's built with security and performance in mind. Compared to Electron, it has a small footprint as the developer has to specify the API and capabilities required by the application.
React and Next.js
In third and forth React and Next.js got similar numbers, with almost 20,000 new stargazers.
Next.js 13, released in October, leverages the React Server Components introduced by React 17 in 2020.
Andrew Clark, one of the maintainers of React made a bold statement about their adoption in the future in this thread:
Vite
In fifth Vite is the trendiest tool to build applications based on web technologies while providing an amazing developer experience.
It had two major releases this year (v3 in July and v4 in December).
It powers more and more projects including the frameworks SvelteKit and Qwik and the test runner Vitest.