COLUMN
2023年06月16日
Google I/O 2023にて発表されたフロントエンドに関する発表
カテゴリー:システム開発, テクノロジー, ビジネス, 新規事業開発
タグ:Web, システム開発, プログラミング, フロントエンド
Google I/OはGoogleが開催する開発者向けの年次カンファレンスです。様々な発表が行われましたが、その中でもWebフロントエンド開発に関係しそうなトピックを取り上げます。
WebGPU
WebGPUは次世代のWebGLともいうべきAPIです。WebGLは長い歴史を持っていますが、そのために古いGPUのAPIをサポートし続ける必要があります。
WebGPUはMetalやVulkan、Direct3D12などよりモダンなAPIをサポートしています。また、よりGPUの性能を引き出せるように設計されており、機械学習や3D分野で効率的に扱えるようになります。
Baseline
Baselineはモダンなブラウザにおいて、どのAPIが利用できるかを明示する仕組みです。web.devやMDNといった開発者向けドキュメントに、各ブラウザのアイコンが表示されます。
このアイコンが表示されることで、APIの互換性が保証されるようになります。開発者はアイコンを見て、モダンなブラウザにおける実装状況を判断できるでしょう。
WebDriver BiDi
WebDriverはSeleniumなどで利用されてきたブラウザ操作用のプロトコルです。ただし速度が遅かったり、昔は必要なかった部分(開発者ツールやメッセージなど)についての操作ニーズがあり、Chrome DevTools Protocolが作られています。
WebDriver BiDiはChrome DevTools Protocolを進化させる形で実装されています。Chrome以外のブラウザでも使えるように、かつSeleniumなどとも密に連携しながら開発が進められています。
Flutter
Flutterは3.1が発表されました。Webに対するレンダリングを高速化するため、レンダリングエンジンであるCanvasKitが1/3に削減されています。また、コンパイル中に利用していないアイコンフォントを取り除くことで、軽量化を進めています。
Firebase
フロントエンド向けにはFirebase hostingが使われますが、Next.jsやAngularに加えてFlutter、Astro、Nuxt、SvelteKitのサポートが発表されました。
Firebase Functionsはバージョン2が発表され、PythonがFirebaseの様々なイベントトリガーに応じて実行されます。
WebAssembly
WebAssemblyにおいてはまず、KotlinがWebAssembly出力をサポートしたことが発表されました。これはKotlin/Wasmと呼ばれます。
また、WebAssemblyがGCをサポートすることも発表されました(WasmGC)。このWasmGCによってManaged-memory languagesがサポートされることになり、Kotlinも含まれるようになったということです。
Core Web Vitals
Core Web VitalsはWebアプリケーションのUXにおいて大事な指標となっていますが、新しい指標としてINP(Interaction to Next Paint)が追加されます。これはWebアプリケーション全体における入力への影響を計る指標です。
このINPは元々あったFID(First Input Delay)を置き換えるものとして推進されています。
まとめ
GoogleはChromeの開発元ということもあって、Webへの投資も強い企業です。Chrome自身、新しいWebへの取り組みも盛んで、様々なAPIが追加されています。
まだChromeでしか使えない機能も、すぐに他のブラウザへ広がっていくでしょう。ますますWebが便利になっていくのは間違いないので、キャッチアップを継続しましょう。