Webアプリケーションフレームワーク「Angular」の開発チームは、最新バージョンである「Angular 15」を11月17日(現地時間)に公開した。AngularはGoogleが中心になって開発したソフトウェアで、現在はMITライセンスで公開しているオープンソース・ソフトウェアだ。
「Angular 15」で最大の変更点は「スタンドアロン・コンポーネント」が安定版になった点だ。この機能はAngular 14で登場したものだが、デベロッパー・プレビュー扱いだった。スタンドアロン・コンポーネントとは、「NgModule」という名のクラスを用意せずに使えるコンポーネントだ。NgModuleとは、モジュールが持つコンポーネント、ディレクティブ、パイプのほかに、exportsプロパティを通して公開するコンポーネントなどの情報をまとめたクラスだが、分かりにくく使いにくいと開発者の間で不評だった。スタンドアロン・コンポーネントが安定版になったAngular 15では、このクラスを用意することなく、コンポーネントを単体で実装できるようになっている。
スタンドアロン・コンポーネントの中でも目立つのが、「provideRouter」APIだ。これはWebページの表示をどのように変化させるかを示す「ルート」を設定するAPIだ。今回登場したprovideRouterは、アプリケーションのビルド時に、APIが提供する機能のうち必要ないものを落とすことができる(tree-shakable)。開発チームの評価では、このAPIを使ったコードのサイズを11%ほど縮小できたという。
また、Webページ中の画像の読み出し順序を変えて、エンドユーザーが体感する性能を上げる「イメージ・ディレクティブ」も安定版となった。この機能はAngular 14.2で登場していたが、プレビュー扱いだった。この機能は、Webページ上にある画像の中でも、ブラウザのウィンドウ内にまだ表示できない画像の読み出しを後回しにしたり、読み出しを優先させるタグが付いた画像を先に読み出したりすることで、エンドユーザーから見たWebページの表示速度を高めようというものだ。
デバッグに役立つ新機能もある。Angularで作成したWebサイトをWebブラウザ「Chrome」のデベロッパーツールでデバッグしてみると、エラーが発生したときに現れるスタック・トレースがあまりに長く、大きいことに困ったことはないだろうか。スタック・トレースの中身をよく読むと、開発中のWebサイトに関するメッセージはほんの少しで、ほかの大部分はサードパーティーのライブラリで発生しているエラーを伝えている。Angular 15では、このスタック・トレースの表示内容を縮小し、開発中のWebサイトに関係するメッセージを見付けやすくした。この機能はChromeデベロッパーツールの開発チームと協力して開発したという。
そして、ユーザーインターフェースのコンポーネントをリファクタリングして、マテリアル・デザインに対応した。コンポーネントの多くを書き換えたが、TypeScriptから使用できるAPIにはほとんど影響がないという。
そのほかにも多くの新機能、機能改善が加わっており、いくつかの機能が廃止になっている。開発チームは今後のバージョンについて、サーバーサイド・レンダリングの改良と、反応速度向上に取り組んでいるとしている。GoogleはAngularのアップデートについて、半年ごとにメジャー・アップデートを投入する方針を示している。この予定通りに進めば、次のメジャー・アップデートは2023年の5〜6月となりそうだ。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です