Cybozu Frontend Monthly #40

タイトル画像

イベント概要

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

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

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

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

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

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

開催日

2023年10月30日

イベントページ

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

配信URL

https://www.youtube.com/watch?v=2f8FE2Y9HfQ

メンバー


コンテンツ

👀 Notable Articles

Cloudflare Fonts: enhancing website font privacy and speed

Cloudflare から Cloudflare Fonts と呼ばれる機能が発表されました。記事の中では、Web フォントを提供する代表的なサービスである Google Fonts と比較し、プライバシーやパフォーマンスの面でのメリットが紹介されています。

プライバシーの面では、Cloudflare Fonts を介してフォントを提供することで、フォント取得のためにサードパーティドメインへのリクエストを防ぐことができるとのことです。

パフォーマンス面においては、従来では Web フォント取得用の CSS を解析した上で必要とされるフォントの取得が行われるため、サーバーへのラウンドトリップが複数回発生していました。一方で Cloudflare Fonts では、HTML を Cloudflare 側で解析した上で CSS はインラインに埋め込まれ、かつフォントファイルも Cloudflare の 最寄りの Edge Cache から返すことで速度の改善が期待できるようです。

現状 Google Fonts のみのサポートのようですが、HTML の書き換えはすべて Cloudflare 側で行うため、利用者側で行う設定は Cloudflare のダッシュボードから Cloudflare Fonts を有効化するだけ、という点が非常に面白く感じました。


The State of WebAssembly 2023

Scott Logic の The State of WebAssembly 2023 のサーベイ結果が公開されました。

使用言語はやはり Rust が最も多く、続いて JavaScript、C++となっています。 去年と比較して Swift と Zig での開発者が増加しているようです。

使用環境は Web 開発が最も多く、次点でサーバレスアプリケーションのスクリプトとしての利用が多くみられます。 信頼できないコードを隔離された環境で実行できるという観点から、プラグイン環境として WebAssembly を提供する場面が顕著に増加しているようです。

W3C のプロポーザルから欲しい新機能として、昨年同様のマルチスレッド間でのメモリ共有やガベージコレクションの他に、コンポーネントモデルが求められ始めているようです。 WASI では I/O 関連の標準化が待たれていますね。

一般的な Web 開発ではあまり触れる機会の多くない WebAssembly ですが、プラグイン環境への活用やサーバレススクリプトとしての適用など、活躍の場面を増やしていっています。 着々と進んでいる新機能のリリースによって、今後も新たな活用の場面が増えていくのではないでしょうか。


Faster TypeScript builds with —isolatedDeclarations

TypeScript に今後導入予定の --isolatedDeclarations オプションについて「解決したかった問題」と「実際に何をこなうのか」を解説した動画になります。(これは Bloomberg のエンジニアである Titan 氏が TS Congress で発表した際のものです。)

TypeScript の型定義ファイル出力においては、しばしば他ファイルを参照した型チェック・推論が必要になることが多く、この制約が並列化を制限しています。このような現状に対して「もしこの制限を取り去りファイルごとに独立して型定義ファイルの出力することができれば処理の並列化が可能になりパフォーマンスが改善するはずである」という前提に立って生まれたオプションが--isolatedDeclarationsオプションです。

--isolatedDeclarationsオプションを有効にすると他ファイルへの型推論を必要とする型定義ファイルの出力が制限される代わりに、並列化が大きな影響を持つ monorepo project などで大きくパフォーマンスが改善されるとしています。

またこの動画では--isolatedDeclarationsオプションを有効にする際の制限や他ファイルへの参照が必要ない推論についてサンプルコードをもとに解説しています。これらをもとにプロジェクトによっては--isolatedDeclarations オプションの有効化を検討するといいかもしれません。


🗓 Monthly Articles

📖 Framework, Library


⚡️ Services


💬 Languages


🖥 Browsers


🦆 Others

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

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