Table of Contents
Most Popular Projects Overall
Overall winner: Bun 🏆
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:
- a package manager (think Yarn, NPM, PNPM)
- a building tool (think Webpack, ESBuild, Parcel)
- a test runner
- ... and many other things!
So Bun can install your dependencies reading your package.json. Bun can also run your scripts. It does everything faster than anything else.
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.
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
Andrew Clark, one of the maintainers of React made a bold statement about their adoption in the future in this thread:
Server Components is the future of React and our goal is to spread this architecture to the entire React ecosystem, regardless of framework
In fifth Vite is the trendiest tool to build applications based on web technologies while providing an amazing developer experience.
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.
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.
Guest Writer: Lee Robinson
Lee Robinson is a developer, writer, and creator who works at Vercel as VP of Developer Experience.
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 Element Admin
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 Solid.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!
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.
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 co-locate their code related to their features and handle nested routes in a powerful way.
tRPC and the create-t3-app
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".
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!
In the blog post The Web Next Transition Kent C. Dodds did a great job to explain the pattern 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.
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
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.
Many frontend tools in Rust should make news this year:
React Native Skia
Guest Writer: Evan Bacon
Lead of Developer Tools at Expo. Native iOS and Android developer. Author of Config Plugins and Expo CLI.
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.
Hasura GraphQL Engine
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.
- build times go out of control in large code bases
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:
- 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.
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...).
And we share the optimism of his conclusion!
What an incredible time to be a web developer.