Cybozu Frontend Monthly #49

タイトル画像

イベント概要

サイボウズフロントエンドマンスリー は、サイボウズ社内で行っているフロントエンド情報共有会「フロントエンドウィークリー」の公開版です。

その月に気になったフロントエンドの情報を、サイボウズのフロントエンドエキスパートチームのメンバーが共有していきます。

このイベントのハッシュタグは #サイボウズフロントエンドマンスリー です。

※フロントエンドウィークリーとは

毎週火曜の 17:00 〜 18:00 で社内向けに行っているフロントエンドの気になる記事を紹介する会です。2016年3月15日から行われています。
ハッシュタグ #サイボウズフロントエンドウィークリー で実況しています。

zennのpublicationにてウィークリーのまとめも投稿していますので、ぜひこちらもご覧ください。 https://zenn.dev/p/cybozu_frontend

開催日

2024年07月30日

イベントページ

https://cybozu.connpass.com/event/324896/

配信URL

https://www.youtube.com/watch?v=rU7NP6pCP7w

メンバー


コンテンツ

👀 Notable Articles

State of React 2023

毎年 React とその周辺ライブラリについて行われている統計「State of React」の 2023 年版の結果が公開されました。この調査では設問を大きく次の4セクションに分けて用意しています。

この中から個人的に気になったいくつかの結果について共有します。

Main APIs Pain Points

React の API で開発者が辛いと思っている部分の統計です。

Libraries Retention vs Usage

react の周辺ライブラリをまとめて、継続率と使用率の2軸で整理したグラフです。

Usage/New Features

React の新しい機能についてその利用率の統計です。


Deno 1.45 で workspace がサポートされた

Deno v1.45 がリリースされ workspace がサポートされました。このリリースに合わせてドキュメントにも workspace のページが追加されています。

ルートの deno.json でworkspaceを指定することで Deno で monorepo 構成ができるようになります。

ドキュメントに記載された手順で monorepo 構成を試した際に VSCode でエラーが出たり、npm パッケージの import する際に、コード上でnpm: specifiers を直接使った場合と、Import Map で指定した場合で lock ファイルの内容が変わったりとリリースされたばかりで不安定な部分もあるのかなという印象でした。

ただ、調べてる最中にもLSP 対応のプルリクが作られたり、今後、改善されそうですし、何より workspace のサポートにより Deno でのパッケージ構成の幅が広がるのは嬉しいですね。


今後の Next.js のキャッシュの方針と PPR 周りについて

Next.js 15 RC 以降でキャッシュの方針が見直されており、fetch() によるリクエストのキャッシュや、クライアント側のキャッシュである Router Cache がデフォルトで無効となりました。

これに伴い、Vercel の Lee Robinson 氏が変更の背景事情について X でのポストで説明しています。

背景については PPR (Partial Pre Rendering) の登場が大きく関与しています。

Next.js 14 以前の PPR が存在していなかった状態では、ページ単位での動的レンダリング or 静的レンダリングの切り替えが前提であったため、デフォルトで fetch() などのキャッシュを有効とすることで、基本的には静的レンダリングとなるような設計となっていました。しかし、PPR の登場によりページ内で部分的な動的・静的の切り替えが可能となったことで、キャッシュが無効だとしても静的レンダリングの恩恵を得られるようになり、キャッシュのデフォルトポリシー自体も見直された形です。Next.js を利用している場合には大きな変化であり、アプリケーションを構築する際にも意識が必要になりそうな点となりそうです。

PPR を含めた周辺の思想については @akfm_sato さんによる次の記事も大変参考になるかと思います。


Support typescript with —experimental-strip-types

Node.js が TypeScript のコードを直接実行するための試験的なフラグ --experimental-strip-types の導入を検討しています。

--experimental-strip-types では、TypeScript の型情報を削除し、実質的には JavaScript のコードとしてプログラムを実行するための試験的機能です。

@swc/wasm-typescriptを用いて型情報を削除する試験実装がなされており、今後の正式リリースに向けてこの機能はコアに取り込まれる予定です。

あくまで TypeScript を実行するためのものであるため、この機能に関わって正式リリースで型チェックや enum などの機能が追加されることはないようです。

🗓 Monthly Articles

📖 Framework, Library


⚡️ Services


💬 Languages


🖥 Browsers


🦆 Others

フロントエンドエキスパートチームについて

https://speakerdeck.com/cybozuinsideout/frontendexpert-team