Angular 13が登場: Ivyが全盛、View EngineとIE11のサポートが削減

Table of Contents

Angular 13が登場: Ivyが全盛、View EngineとIE11のサポートが削減

Google がスポンサーとなっている Angular JavaScript フレームワークのバージョン 13 がリリースされました。古い View Engine レンダラーはなくなり、IE11 のサポートもなくなったため、Angular はより高速で小型になりました。

最新リリースでは、含まれるものだけでなく、削除されたものも注目に値します。Googleのデベロッパーリレーションズエンジニアであるマーク・トンプソン氏によると、廃止されたView Engine(旧Angularコンパイル・レンダリングエンジン)は利用できなくなりました。トンプソン氏によると、これは「メタデータとサマリーファイルが含まれなくなったため、チームはコンパイルの高速化を期待できる」ことを意味します。

現在のレンダリングエンジンであるIvyは現在あらゆる場所で使用されており、さらに改良と最適化が進められています。これにより、Angular Package Format(APF)の近代化、互換性コンパイラngccの使用量の削減、コンポーネントAPIの簡素化が実現し、より簡潔なコードが実現しました。

Angularチームは、Microsoftの廃止されたウェブブラウザであるIE11のサポートを終了しました。「IE11のサポートを終了したことで、AngularはネイティブウェブAPIを介してCSS変数やウェブアニメーションなどの最新のブラウザ機能を活用できるようになります」とThompson氏は述べています。

「IE固有のポリフィルとコードパス」を排除することにもメリットがあります。既存のアプリケーションを開発している開発者は、更新コマンドを実行することでこれらを自動的に削除し、バンドルされたアプリケーションのサイズを削減できます。

もう一つの変更点は、デフォルトでキャッシュされる永続ビルドの使用です。これにより、ビルド速度が最大68%向上したとトンプソン氏は述べています。その他の改善点としては、RxJS(JavaScript用Reactive Extensions Library)がバージョン6から7.4にアップグレードされ、ライブラリサイズが50%削減されたことや、TypeScript 4.4のサポートなどが挙げられます。インラインフォントのサポートが拡張され、Adobe FontsとGoogle Fontsもサポートされるようになりました。

新バージョンではアクセシビリティが向上しており、トンプソン氏が「有意義な改善」と呼ぶ機能とAngular Materialコンポーネントの変更が盛り込まれています。先週の別の投稿では、タッチターゲットのサイズ、ARIA(Accessible Rich Internet Applications)ラベルの改善、ハイコントラストモードの改善、オートフォーカスオプション、スクリーンリーダーエクスペリエンスの向上など、変更点について詳細に解説しています。

ここでは多くの作業が行われており、Angular 13 は大幅にアクセスしやすくなるはずですが、個々の開発者もそのメリットを享受するために取り組むべき作業があります。

チームはテストも刷新し、ネイティブのTestBed APIが各テスト後にDOM(ドキュメントオブジェクトモデル)をより徹底的にクリーンアップするようになりました。「開発者は、テストの高速化、メモリ使用量の削減、相互依存性の低減、そしてより最適化されたテストを期待できます」とトンプソン氏は述べています。

StackOverflowのトレンドはAngularへの安定した関心を示している

StackOverflowのトレンドはAngularへの安定した関心を示している

StackOverflowの最新の開発者調査によると、React.jsが最も利用されているJavaScriptフレームワークで、Angularは4位です。ただし、jQueryとExpressは比較対象が少ないため、Angularは2位となります。これは、Angularの利用率(22.96%)が高いことを示していますが、Svelte、React.js、Vue.jsといった他のフレームワークと比べると人気は低いようです(調査の「最も愛されているもの」セクションによる)。

  • Next.js 12: ミドルウェア、ECMAScript モジュール、Node.js の使用削減
  • JavaScriptフレームワークのChromeの「適合性」には、「ルールに従わないとプロジェクトはビルドされません」と書かれています。
  • オープンソースJavaScriptプロジェクトBabel、有償メンテナーを雇用しスポンサーが撤退した後「資金不足」に陥る

Angular(TypeScriptを使用)は、JavaScriptを使用する旧来のAngular.jsとは異なる点にご注意ください。Angular.jsは調査で「最も恐れられている」と評価されているのに対し、Angularは中堅という堅実な位置を占めています。

Visual Studio Code で Angular 13 を簡単に試してみたところ、Hello World アプリケーションの初期コンパイルでさえまだ遅いように感じられましたが、ホット モジュール リロードの利点が緩和要因となっています。ホット モジュール リロードにより、ソース コードを編集すると、実行中のアプリケーションに即座にすばやく変更が加えられます。

おそらく流行遅れであるにもかかわらず、Angular は安全な選択肢であり、Google は開発者がベスト プラクティスに従うのに役立つと主張しています。®

Discover More