はじめに
こんにちは、Webアプリケーショングループの羽鳥です!
JSConf JPに参加してきましたので、その感想を書きます。
印象に残ったセッション
React CompilerとFine Grained Reactivityと宣言的UIのこれから
仮想DOMのお話しでした。
- 仮想DOMは差分の検出とDOMツリーの構築にコストがかかっている
- React CompilerがDOMツリー構築コストを削減する
- 仮想DOMを利用せずに状態をWatchするFine Grained Reactivityという仕組みが、Solid, Svelte, Vue Vaporで利用されている
など、今アツい脱仮想DOMの流れを理解できました。Fine Grained Reactivityという概念はこのセッションで初めて知ったので、Solidのドキュメントを読んでもう少し勉強しようと思いました。
幸せの形はどれも似ているが、不幸なプロジェクトはそれぞれの形がある
Webアプリケーションのパフォーマンスをどのように測定し、問題を特定するか?という内容のセッションでした。
- フロントエンドのパフォーマンスの計測とはE2Eと等価であり、それはLighthouseで行う
- mizchiさんがチューニングする際は、バイアスになるのでコードなどを確認せずに計測に徹する
- Chrome DevToolsは使って覚える
などとても勉強になるセッションでした。そもそもパフォーマンスを計測する文化がなかったので、まずはLighthouse CIを導入し、定期的にパフォーマンスを確認したいです。
Modular Monolith Monorepo
フロントエンド開発におけるモノレポのお話しでした。その中で紹介されていたDesign Docsの導入についてとても興味を持ちました。
Design Docsとは、ソフトウェアデザインを定義するドキュメントです。Googleの文化として知られ、この記事にまとまっています。
上のスライドのように、導入したライブラリにTierをつけていました。このように明文化することでチームのメンバー全員が同じ認識をもってコードを書けるのでとても参考になりました。
おわりに
JSConf、とても勉強になって楽しかったです。今回で様々な知見を得られたので、またフロントエンドでやりたいことがたくさん増えたので嬉しいです。