8回目のJavaScript ライジングスターにようこそ! ここでは、2023年のJavaScriptエコシステムのトレンドを俯瞰することができます。

コピペで世界を獲ったUIコンポーネントを見守っていきましょう。


以下は、2022年の1年間で増加したGitHubのスター数によるランキングです。Webプラットフォームに関するベストプロジェクトを集めたリストであるBest of JSからの一年間の分析です。各プロジェクトをクリックすると、より詳細な情報を閲覧することができます。

目次

  1. 総合ランキング
    shadcn/uiBunExcalidrawtldrawNext.jsSupabaseReactTauriDrizzle ORMhtmx
  2. フロントエンドフレームワーク
    ReacthtmxSvelteMillionVue.js
  3. React エコシステム
    shadcn/uiExcalidrawNext.jsZustandRefine
  4. Vue エコシステム
    NuxtSlidevVue Element AdminVueUseElement Plus
  5. バックエンド/フルスタック
    Next.jsAstrotRPCcreate-t3-appNest
  6. ビルドツール
    BunViteBiomeOxcRspack
  7. モバイル
    ExpoReact NativeTamaguiQuasarCapacitor
  8. CSS in JavaScript
    Tailwind CSSStylexUnoCSSTamaguiPanda
  9. CSSライブラリ
    DaisyUIBootstrapPico.cssBulmaPrimer
  10. テストツール
    PlaywrightStorybookPuppeteerVitestCypress
  11. デスクトップ
    TauriWailsElectronNativefierGluon
  12. 静的サイトジェネレータ
    Next.jsAstroDocusaurusNuxtNextra
  13. 状態管理
    ZustandJotaiXStatePiniaNano stores
  14. GraphQL
    TanStack QueryDirectusAmplicationNhostHasura GraphQL Engine
  15. AI
    LangChain.jsTypeChatVercel AI SDKTransformers.jsTesseract.js
  16. おわりに

総合ランキング

1
shadcn/ui

shadcn/ui

Beautifully designed components that you can copy and paste into your apps. Accessible. Customizable. Open Source.
+39.5k☆

2023年の推移

6.8k
1.5k
1.7k
3.5k
4.4k
4.9k
3.2k
3.4k
2.8k
2.1k
1.8k
3.4k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月

GitHub情報

作成日
2023-01
累計スター数
48.4k☆

リンク

2
Bun

Bun

Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
+29.3k☆
3
Excalidraw

Excalidraw

Virtual whiteboard for sketching hand-drawn like diagrams
+23.2k☆
4
tldraw

tldraw

Infinite canvas.
+17.9k☆
5
Next.js

Next.js

The React Framework
+17.8k☆
6
Supabase

Supabase

The open source Firebase alternative
+17.7k☆
7
React

React

The library for web and native user interfaces.
+16.9k☆
8
Tauri

Tauri

Build smaller, faster, and more secure desktop applications with a web frontend.
+15.7k☆
9
Drizzle ORM

Drizzle ORM

Headless TypeScript ORM with a head. Runs on Node, Bun and Deno. Lives on the Edge and yes, it's a JavaScript ORM too
+15.6k☆
10
htmx

htmx

Access AJAX, WebSockets and Server Sent Events directly in HTML
+15.6k☆

優勝: shadcn/ui 🏆

2023年、最もホットだったプロジェクトはshadcn/uiです。 これはTailwindを通してスタイルをカスタマイズすることができる、Reactで書かれたUIコンポーネントのコレクションです。

shadcn/uiは、アクセシビリティやキーボード操作などに対する一連のUIを提供するヘッドレスコンポーネントであるRadix上に構築されています。 shadcn/uiはNPMパッケージとしてダウンロードすることができないという点で、他の似たようなライブラリ(MUI・ChakraUI・React Spectrum等)と一線を画しています。 かわりにターミナルコマンドを実行することで、必要なコンポーネントだけを直接プロジェクトに組み込みます。 そしてコンポーネントをカスタマイズしたい場合は、自分のコードベースにあるコンポーネントのソースコードを直接編集します。

このプロジェクトが大成功した背景には、総合20位に入ったTailwind CSSの人気、React Server Componentsとの互換性、そして優れたドキュメントの存在があるでしょう。

現在、新進気鋭のReactプロジェクトはほとんどがshadcn/uiを採用しています。 またKent C. Doddsによって、Epic Stackにも選出されました。

他の例としてAIを挙げましょう。 v0.devはプロンプトから、shadcn/uiコンポーネントで構成されるJSXを生成します。素敵!

おっと大事なことを忘れていました。 Best of JSは先日SPAからNext.jsに書き換えを行ったのですが、その後shadcn/uiを使っています。

shadcn/uiのアプローチは、既にほかのプロジェクトに影響を与え始めています。

もっと詳しい分析については、The anatomy of shadcn/uiを参照するとよいでしょう。

準優勝: Bun

2022年の王者Bunは、今年もその勢いを保っています。

Bunは、JavaScriptおよびTypeScriptアプリケーションを実行、ビルド、テスト、デバッグするオールインワンツールキットになることを目指しています。

正式バージョン1.0が9月にリリースされ(グラフのピークを見てください)、Bunはついにプロダクションレベルになったと主張しました。

ドキュメントでは、Bunを今すぐ始めるのに役立つAPIおよびファイル操作、データベース操作などの優れたレシピが公開されています。

2023年末には非常に力強い声明を発表しました。

We have one goal for 2024 Flip the default backend JavaScript runtime from Node.js to Bun ( 2024年のゴールは、デフォルトのJavaScriptランタイムをNode.jsからBunにすることだ。 )

requireのような古き良きCommonJSを含むほとんどのNode.jsエコシステムとの互換性、そしてNext.js・Nuxt・Astroといった優れたフルスタックフレームワークの存在により、いずれはそれを実現してのけるかもしれません。

フロントエンドフレームワーク

1
React

React

The library for web and native user interfaces.
+16.9k☆
2
htmx

htmx

Access AJAX, WebSockets and Server Sent Events directly in HTML
+15.6k☆
3
Svelte

Svelte

Cybernetically enhanced web apps
+10.3k☆
4
Million

Million

<1KB Virtual DOM Implementation
+8.2k☆
5
Vue.js

Vue.js

A progressive, incrementally-adoptable JavaScript framework for building UI on the web.
+7.9k☆

React

批判や論争がしばしば巻き起こるにも関わらず、Reactは2021年以降JavaScriptエコシステムのトップをひた走っています。 そして2023年もフロントエンドフレームワークのトップに立ちました。

Reactは10周年を記念したドキュメンタリーを公開しました。 Reactがいかにして評価を勝ち得てきたが語られています。

しかし、Reactに批判的でない人もいないわけではありません。 Reactは古臭い過去の遺物と見る向きもあり、Things you forgot (or never knew) because of Reactの記事ではその理由と代替ソリューションについて詳しく調査がなされています。 一方で支持者たちはReactの優れた適応力と再発明能力を高く評価しています。

争点のひとつは"signals"の欠如です。 これはSolidPreactなどで採用されている状態管理メカニズムです。 いっぽうReactの愛好者たちは、Reactのデータフローの予測可能性を支持しています。

Percelの開発者であるDevon Govettは、signalsについて以下のようにツイートしています

The simplicity of UI as a function of state is lost when updates flow unpredictably. (予期せぬ流れで更新が行われると、UIのシンプルさが失われます。)

signalsについてさらに知りたい場合は、signalsを歴史的にまとめたThe Evolution of Signalsを参照ください。

htmx

第二位となったhtmxは、HTMLにインタラクティブを導入するために異なるアプローチをとったライブラリです。 JavaScriptを記述するのではなく、HTMLに属性を記述することで、リアルタイムの対話性や動的な更新が可能になります。

ファイルサイズが小さいこと、また既存のサーバ側フレームワークとシームレスに結合できることが高く評価されています。 htmxはsend HTML over the wireと呼ばれるトレンドに従っており、クライアントはサーバから送られてきたJSONを処理するのではなく、HTMLをそのまま持ってくるという仕組みになっています。

同じような"属性ライブラリ"分野の有名どころとしては、Alpine.jsが13位に入っています。

Svelte

3位には、人気が高まり続けているSvelteが入りました。 ポストReactとしても名をよく上げられます。

「プロジェクト史上最も期待されているリリース」と自称しているSvelte 5では、リアクティビティに関する問題点を解消するrunesが導入されます。 Rich Harrisによるこの動画が、runesによって解決される事象について解説しています。

2023年に起きた焦点の幾つかはSvelteであり、たとえばHacker Newsなどが多くの議論を引き起こしました。 SvelteチームはTypeScriptを辞め、アノテーション付きJavaScriptを使うことを選択したのです。 タイプセーフの利点は保ちつつ、TypeScriptがもたらす複雑さや欠点を回避することを選びました。

その他注目プロジェクト

  • Million v3は、ピュアJavaScript並の速度でReactコンポーネントを動かすことを可能にする軽量ライブラリです。

  • Angular 17では、大幅なパフォーマンス向上、ドキュメントのリニューアル、ロゴの刷新などが行われました。

  • Qwikはバージョン1に達しました。 最初はJavaScriptを含まないただのHTMLを高速に返しながらも、即座にインタラクティブな操作が可能になるフレームワークです

React エコシステム

1
shadcn/ui

shadcn/ui

Beautifully designed components that you can copy and paste into your apps. Accessible. Customizable. Open Source.
+39.5k☆
2
Excalidraw

Excalidraw

Virtual whiteboard for sketching hand-drawn like diagrams
+23.2k☆
3
Next.js

Next.js

The React Framework
+17.8k☆
4
Zustand

Zustand

Bear necessities for state management in React
+13.2k☆
5
Refine

Refine

A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility.
+11.0k☆

ゲストライター: Sébastien Lorber

SébastienはReactのアーリーアダプタであり、FacebookのオープンソースであるDocusaurusのメンテナです。 またReactとReact Nativeについてのニュースレター、This Week in Reactを毎週発行しています。

Guest Writer slorber

2023年、React Server Componentsの登場によってReactは第三世代に入りました。

ReactコアチームはVercelとコラボし、初めての安定版であるNext.js 13.4 App Routerをリリースしました。 Vercelは多くのリソースに貢献し、エキサイティングなイノベーションを主導しています。 しかし、Reactコアチームとの特権的な関係と、実験的機能への早期アクセスへの姿勢が時折批判を受けることもあります。 2023年には、Reactの新機能は一番最初にNext.jsのドキュメントに記載されることが普通になりました。

コミュニティはfetch()の独自拡張など一部の設計思想を評価しておらず、こちらは元に戻されました。 またApp Routerの安定性や開発サーバのパフォーマンスに関する批判意見なども頻繁に見受けられました。 いっぽうReact Server Componentsは、バンドルサイズの縮小や、コードを大幅にシンプルにできることなど、非常に多くの利点がアーリーアダプタによって高く評価されました。

Reactチームは、実験的機能の実装と展開戦略についての立場を表明しました。 カナリアバージョンは破壊的変更が入ることがありますが、その変更はドキュメント化されるため、フレームワークはカナリアバージョンを採用してもかまいません。 Reactはドキュメントも大きく整備されましたuseFormStateuse serverといった最新のAPIも徹底してドキュメント化されています。

またServer Actionsが登場しました。 これはNext.js14で安定版となったReactの新たなコア機能で、フォームの変更と送信についてシームレスなRPCコールを可能にします。

Remixの哲学に倣い、Server Actionsはプログレッシブエンハンスメントを念頭に設計されています。

2024年にはエキサイティングなことに、多くのフレームワークがReact Server Componentsを取り入れる動きを示しています。

みんなが、まもなく登場するであろうReact19を心待ちにしています。

Vue エコシステム

1
Nuxt

Nuxt

The Intuitive Vue Framework.
+7.6k☆
2
Slidev

Slidev

Presentation Slides for Developers
+5.3k☆
3
Vue Element Admin

Vue Element Admin

A magical vue admin
+4.9k☆
4
VueUse

VueUse

Collection of essential Vue Composition Utilities for Vue 2 and 3
+4.6k☆
5
Element Plus

Element Plus

A Vue.js 3 UI Library made by Element team
+4.0k☆

ゲストライター: Lucie Haberer

Nuxtのコアチームメンバーで、講演者で、OSSの渡り鳥で、そしてPrismicのデベロッパーエクスペリエンスエンジニアです。

Guest Writer lihbr

Vue2がEOLになるとの発表を受け、2023年はVue3への大移動が行われました。

その過程において、移行を支援するための多くの努力が形になり、エコシステムが追い付き、発展は続きました。 要するに、素晴らしい結果が残ったということです。

Nuxt3のダウンロード数は既にNuxt2を追い越しました。 VuetifyPrimeVueなどのUIフレームワークは、大規模な、もしくは大規模でないアプリケーションの構築を、これまで以上に楽にしてくれます。 VueUsePinia、そしてTresJSといった数多くのライブラリが、より良い開発者体験を提供するために成長と努力を続けています。

2022年に引き続き、開発者体験は最優先事項のひとつであり続けています。 Vue3.3では、<script setup>のTypeScriptサポートが強化されました。 Nuxtは8回のマイナーバージョンアップを行い、さらにNuxt DevToolsを公開しました。 アプリをより深く理解し、迅速な開発を助けるための分析力を提供します。

Evan Youが言ったとおり、2024年はVueにとってさらにエキサイティングな年になるでしょう。 まもなくVue 3.4がリリースされ、そして満を持してVapor modeが登場します。 さらなるパフォーマンス向上と、コミュニティの革新を目指して開発が続けられています。

バックエンド/フルスタック

1
Next.js

Next.js

The React Framework
+17.8k☆
2
Astro

Astro

A website build tool for the modern web — powerful developer experience meets lightweight output.
+14.4k☆
3
tRPC

tRPC

Move Fast and Break Nothing. End-to-end typesafe APIs made easy.
+12.8k☆
4
create-t3-app

create-t3-app

The best way to start a full-stack, typesafe Next.js app
+9.2k☆
5
Nest

Nest

A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript
+8.7k☆

今年もバックエンド/フルスタックカテゴリの勝者はNext.jsでした。

バージョン14ではサーバアクションの改善に主眼が置かれ、Partial Previewモードなどが導入されました。

さらにReact Server Componentsと一緒に使うことで、コードを大幅に簡素化する新しいパラダイムを手に入れることができます。 コンポーネントから直接データを非同期に取得し、データの更新もフォームをサーバアクションにバインドするだけです。

コンポーネントから直接SQLを発行するプレゼンテーションについては多くの言及がなされていますが、しかし多くの人が要点を見逃しているようにも見受けられます。 React Server Componentsはアプリケーション内のどこにでも置いておける自己完結型コンポーネントです。 この動画は、RSCが可能としたサーバコンポーネントとクライアントコンポーネントのシームレスな結合という新しいメンタルモデルの構築に非常に役立つものです。

2位のAstroは、評価をどんどん上げてきています。 本来はJavaScriptのない静的サイトを超高速に表示した後からインタラクティブ性を追加するというコンセプトでしたが、さらに動的ページ生成にも使用することができます。

.astroファイルのテンプレートのシンプルさ(JSXにとてもよく似ている)と、優れたDX(美麗なCLI)に感銘を受けることでしょう。

バージョン4では、開発に役立つツールバー、全自動i18nルーティング、UIをさらに改善するためのView Transition APIなどが実装されました。

ビルドツール

1
Bun

Bun

Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
+29.3k☆
2
Vite

Vite

Next generation frontend tooling. It's fast!
+11.1k☆
3
Biome

Biome

A toolchain for web projects, aimed to provide functionalities to maintain them. Biome offers formatter and linter, usable via CLI and LSP.
+7.0k☆
4
Oxc

Oxc

A collection of JavaScript tools written in Rust.
+6.5k☆
5
Rspack

Rspack

A fast Rust-based web bundler
+6.5k☆

ご存じBunバンドラでもあるため、今回からビルドツールカテゴリに移動しました。

2位のViteは、今最も使われている多目的バンドラで、Astro・Nuxt・Remix・SolidStart・SvelteKitなどなど様々なメタフレームワークを支えています。 11月にリリースされたバージョン5はrollup4をベースとしており、さらにパフォーマンスが向上しています。

さらにEvan Youは、Rust製RollupであるRolldownに取り組んでいることを明らかにしました。 Viteはさらに進化することでしょう。

3位のBiomeは、2023年のトピックのひとつです。 これは、コンパイラでありLinterでありフォーマッターでありバンドラでありテスターでもあるという非常に野心的であったプロジェクトRomeの崩壊に起因しています。 Romeはプロジェクトを支えていた会社が倒産し、Rome自体も中断してしまいましたが、幸いなことにそのforkがBiomeとして生まれ変わりました。

そして11月には『Prettierのテストの95%以上に合格するRust製コードフォーマッタを作る』というコンテスト、Prettier Challengeで優勝しました。 Prettierはこの業界の標準であるため、2024年にはBiomeの採用が増えていくことが予想されます。

Rustといえば、ByteDanceチームからの新星OxcRspackも現れました。 RspackはWebpackと互換しつつも比類なきパフォーマンスを発揮します。

それにしても、Rising Starsを始めて以来初めてWebpackがランキング外になりましたが、Webpackを採用しているプロジェクトの数を考えると実に不思議なことに感じられます。

モバイル

1
Expo

Expo

An open-source platform for making universal native apps with React. Expo runs on Android, iOS, and the web.
+6.8k☆
2
React Native

React Native

A framework for building native applications using React
+6.8k☆
3
Tamagui

Tamagui

Universal UI kit and style system for React Native + Web - with an optimizing compiler
+5.0k☆
4
Quasar

Quasar

Responsive Single Page Apps, Server-side Render Apps, Progressive Web Apps, Hybrid Mobile Apps (that look native!) & Electron Apps, all using the same codebase.
+2.1k☆
5
Capacitor

Capacitor

Build cross-platform Native Progressive Web Apps for iOS, Android, and the Web
+2.0k☆

ゲストライター: Evan Bacon

Expoのリードエンジニア。 iOSとAndroidアプリ開発者であり、Config PluginsとExpo CLIの主要開発者です。

Guest Writer evanbacon

2023年、モバイルはWebアプリとネイティブアプリの開発者経験の統合に向けて、大きな進歩を遂げました。 ランキング上位に入ったExpo (1位)、Tamagui (3位)、Nativewind (6位)などを見れば明らかで、これらはコードの再利用性を最大限に高め、Web開発者のアクセシビリティを高めるという同じ目的をもって開発されています。

Tamagui (3位)、Nativewind (6位)、そしてReact Native Paper (7位) など、より良いスタイリングを目指すトレンドが間違いなく存在します。 これは全体ランキングでshadcn-uiがトップに立ったのと同じ傾向です。 この傾向は2024年も止まらないでしょう。

2022年、Reactチームは推奨するボイラープレートをCreate React Appから、RemixやNext.jsのようなフレームワークに変更しました。 それから1年経って、React Nativeのエコシステムにも同様な変化が現れました。 Expo・Tamagui・Igniteのようなフレームワークがいずれも人気を伸ばしており、React Nativeの開発パラダイムが進化しつつあることを示しています。 私が思うに、2024年にもこの流れは続くことでしょう。

React Nativeの優位性は、トップ10プロジェクトのうち7つがReact Nativeに関連していることからも明らかです。 残りの3プロジェクトはWebViewに関連するものであり、Webサイトをそのままアプリとして展開したい需要も間違いなく存在することを示しています。 おそらく2024年は、この両者のアプローチがひとつに統合され始める年になるでしょう。

全体として、2023年はモバイル開発にとって素晴らしい年でした。 2024年のトレンドの予想ですが、React Nativeのスタイリングソリューション、React Server Componentsなどを用いたネイティブのレンダリングパターンへの関心が高まっていくことはこれまで同様で、さらにAIドリブンのプロジェクトのサポート、またvisionOS関連プロジェクトに興味深いものが幾つか出てきそうです。

Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

おわりに

2023年のドラマをいくつか振り返ってみよう。

  • Svelteは型安全を維持しつつTypeScriptを投げ捨てた
  • React論争(古すぎる、難しすぎる、PHPじゃん)
  • Romeの崩壊とBiomeの台頭
  • Angularが若返った
  • Bunがバージョン1になった
  • Astroが4.0になった
  • Stylexがついにオープンソースになった

プロンプトや画像からUIを生成できるAIツールが現れ始めており、もしかしたら数年内にはAIフロントエンドエンジニアが現れるのではないかと期待しています。

しかし、このまとめを8回も書いていると、次のような疑問を抱かざるを得ません。 来年、AIはこのタスクを引き継いでくれるのだろうか?

今回のランキングは楽しめたでしょうか。 みんなにも共有してあげてください。 もしかしたら1年後には、2024年のライジングスターが帰ってくるかもしれませんよ!

Japanese version

Rana Kualu

Houkago Atelier Toiro ha iizo

Authors

Available Translations

English

Español

中文

한국어