Skip to content
⚠️ This article was written in 2021. Some content may be outdated.

2022 フロントエンド技術展望:React 18、Vue 3 デフォルト化と Vite 時代

2021年はフロントエンドエコシステムの再編が加速した年でした:Vue 3 がエコシステムを完成させ、Angular 12/13 が Ivy 移行を完了、Vite は新しいツールから主流の選択肢へと成長しました。2021年の終わりに立ち、2022年に何が起こるかを予測します。

React 18:並行レンダリングが正式に登場

React 18 は2021年6月に Alpha がリリースされ、正式版は2022年初頭にリリースされる予定です。最も重要な変更点は並行レンダリング——React がレンダリング中に中断され、より緊急度の高い更新を優先的に処理できるようになることです:

jsx
// React 18 新機能:useTransition
function SearchPage() {
  const [query, setQuery] = useState("");
  const [results, setResults] = useState([]);
  const [isPending, startTransition] = useTransition();

  const handleSearch = (e) => {
    const value = e.target.value;
    setQuery(value); // 入力欄を即座に更新(高優先度)

    startTransition(() => {
      // 低優先度としてマーク、中断可能
      setResults(performHeavySearch(value));
    });
  };

  return (
    <>
      <input value={query} onChange={handleSearch} />
      {isPending ? <Spinner /> : <ResultList results={results} />}
    </>
  );
}

その他の React 18 新API

  • useDeferredValuestartTransition に似ていますが、関数ではなく値に対して使用します
  • useId:安定した一意の ID を生成(SSR ハイドレーションセーフ)
  • Suspense リストの順序付け(SuspenseList
  • Streaming SSR(renderToPipeableStream

Vue 3 がデフォルトバージョンに

2022年第1四半期に、Vue 3 は npm install vue でインストールされるデフォルトバージョンになります(現時点ではまだ Vue 2 です)。つまり:

bash
# 2022年以降
npm install vue   # Vue 3 をインストール(現在は Vue 2 がインストールされる)
npm install vue@2  # 明示的に Vue 2 を指定

Vue 3 のエコシステムは2021年に最後のピースを埋めました:

  • Pinia が推奨の状態管理ソリューションに(Vuex の代替)
  • Vue Router 4 が安定化
  • Nuxt 3 Beta リリース(Vue 3 + Vite ベース)

Vite が第一選択のビルドツールに

Vite 2 は2021年のリリース後、採用率が急激に上昇しました。2022年には新規プロジェクトの第一選択肢になると予想されます:

javascript
// vite.config.ts
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import react from "@vitejs/plugin-react";

export default defineConfig({
  plugins: [vue()], // または react()
  build: {
    rollupOptions: {
      output: {
        // 自動コード分割
        manualChunks: {
          vendor: ["vue", "vue-router", "pinia"],
        },
      },
    },
  },
});

Vite vs Webpack コールドスタート比較(中規模プロジェクト):

Webpack 5(with cache):~6s
Vite:~300ms

理由:Vite の開発モードはバンドルせず、ブラウザのネイティブ ESM を直接利用

メタフレームワークの台頭

2022年はメタフレームワーク(Meta-Framework)が爆発的に増える年になるでしょう:

フレームワークベースステータス(2022年初頭)
Next.js 12React本番安定、市場シェア第一位
Nuxt 3Vue 3 + ViteRC フェーズ
SvelteKitSvelteBeta
RemixReact2021年11月にオープンソース化
Astroフレームワーク非依存Beta

Remix は特に注目に値します——データの読み込み方法を再考しています:

typescript
// Remix の loader 関数:サーバー側で実行され、データが直接コンポーネントに注入される
export async function loader({ params }) {
  const post = await db.post.findUnique({ where: { id: params.id } });
  return json(post);
}

export default function Post() {
  const post = useLoaderData();  // 自動的にサーバー側のデータ
  return <article>{post.content}</article>;
}

TypeScript のさらなる普及

TypeScript の2021年のダウンロード数は前年比約60%増加し、2022年は以下のように予測されています:

  • Vue 3 公式ドキュメントの全面的な TypeScript 化
  • satisfies 演算子(TS 4.9 ドラフト、より正確な型チェック)
  • より多くのフレームワークが TypeScript を第一級市民として扱う

まとめ

2022年のフロントエンドの主旋律は:成熟——React 18 の並行レンダリング、Vue 3 のエコシステム完成、Vite の標準化、メタフレームワークの多様化です。2021年に蒔かれた種(Vite、SolidJS、Remix)は2022年に実を結び始めるでしょう。フロントエンド開発者にとって最も投資する価値があるのは:並行レンダリングの深い理解、Vite エコシステムに慣れること、そして TypeScript の型設計に真剣に取り組むことです。2022年もより良いコードを書けますように。

MIT Licensed