Angular9の最新機能について知る

公開: 2022-01-02

この記事では、Angular 9の新機能について学習します。新しいバージョンは、2020年2月7日に最近リリースされました。

8から9への話題の変更は大きな一歩のように見えますが、v9はバグの修正も含む特別なリリースです。

その上、この記事で説明するさまざまな興味深いAngular9の機能があります。

  • Angularによる成熟した開発
  • Angularの組み込み機能
  • AngularmobileとIvy
  • 角度診断の改善
  • Angular9のタイプセーフとDI
  • 角度のあるベンチマーク

Angularは現在、モバイルおよびWebアプリケーションを開発するための最も重要なオープンソースフレームワークです。

それはグーグルによって開発されました。 Angularは、Webアプリケーションの作成に必要なコンポーネントとツールを含む包括的な開発フレームワークを備えており、長年にわたって市場に出回っています。

Angularには、6か月ごとに新しいメジャーバージョンがリリースされるというクリーンなロードマップがあります。

また、Angularチームは非常にうまく機能しているため、APIがAngular1から2に変更されたり、頻繁に変更されたりすることはありません。

これは、JavaScriptとTypeScriptでサポートされている最新の機能とベストプラクティスですべてを最新の状態に保つので素晴らしいことです。

ここでは、この記事では、大きなファイルがダウンロード時間、アプリケーションのパフォーマンス、および結果に悪影響を及ぼしているなど、以前のバージョンのAngularを破損した問題の1つに焦点を当てます。

私たちが焦点を当てるもう1つの重要な機能は、Ivyコンパイラです。 IvyとAngularの将来におけるその重要性についての包括的なアイデアを得ることができます。 最終結果:アプリケーションのパフォーマンスと大規模なバンドルに関するさまざまな問題を解決します。

さらに、国際化のサポートやセレクターのないバインディングなど、新機能についても説明します。

JavaScriptのパフォーマンスとバンドルについて知る

過去のAngularバージョンの主な問題の1つは、JavaScriptバンドルで作成されたものと同等のアプリのファイルサイズが大きいことです。

AngularをVueやReactなどの他のライブラリと比較すると、Angularアプリは比較的優れています。

実行時に、違いを感じることはありません。 Angularのパフォーマンスは良好ですが、シンプルなアプリも大きいため、読み込みに時間がかかります。

JavaScriptバンドルのサイズは、他の問題のノウハウも提供します。 Angularは開発機器が組み込まれた完全なフレームワークであるため、学ぶべきことがたくさんありますが、
JavaScriptライブラリは、コンポーネントに重点を置いています。

Angularチームは、過去のバージョンの巨大なバンドルファイルから発生する問題を軽減するために何ができますか?

AngularIvyはさまざまな問題を解決します

Angular 8に含まれていた最も重要な機能の1つは、オプトインIvyのプレビューでした。

Ivyは現在、まったく新しいレンダリングパイプラインと新しい内部ビルドです。 レンダラーは通常、Angularのコンポーネントにテンプレートを使用して入力した命令を受け取るエンジンです。

また、コンポーネントをDOM(Document Object Model)を変更する命令に変換する機能も実行します。

Ivyコンパイラーは隠されており、IvyでViewEngineを引き継いでいますが、Angularでの作業方法は変わりません。 ただし、これによってAngularの操作方法が変わることはありません。

この変更は、生成されるコードに顕著な影響を及ぼします。

Angular 8のプレビューは、ユーザーがIvyで簡単に機能するのに役立ちます。 Angular 9チュートリアルで使用する場合、Ivyは現在標準のレンダラーの1つです。

レンダラーの実装が簡単で効率的である場合、それは、より多くの命令を必要としないため、より少ないコードを作成できることを意味します。

Ivyが提供するJavaScriptバンドルは非常に少ないため、Angularのバンドルに関連するすべての弱点を解決します。

また、Ivyは、Angularアプリケーションをサイズとパフォーマンスの点で完全に新しいレベルに引き上げるため、ゲーム全体を変更します。

Ivyは、Angularの使用方法を変えることはありませんが、アプリ生成の技術全体を変えます。

Angularチームは、Angularに組み込まれている最新のJavaScriptの差分ロードトームなどのイニシアチブに注意を払っています。

これは、さまざまなポリフィルバンドルが一緒に展開および開発されることを意味します。

AngularIvyを使用したアジャイルモバイルアプリ

スマートフォンやさまざまなデバイスが世界中のトラフィックの大部分を占めています。 また、多くの人がインターネット接続が遅い場所からWebページにアクセスします。

ほとんどの開発者は、既存のアプリを修正してダウンロード可能なツールのサイズを減らし、ユーザーエクスペリエンスを向上させることができますが、そのような変更は非常に費用がかかり、困難で、リスクを伴う可能性があります。

JavaScriptバンドルのサイズを縮小することにより、Ivyは、開発手順をスピードアップしたい開発者にとって歓迎すべき改善となります。

AngularDiagnosticsの機能強化

以前、Angularコンパイラは内部API診断とTypeScript診断の両方を生成していました。 ただし、TypeScript診断は、API診断に実装されていない現在の拡張機能の恩恵を受けています。

Angular 7は、複数の形式で作業する代わりに、すべてのAngular TypeScriptコンパイラ診断を同様の種類のTypeScript診断形式に変換することで、プロセスを完全にシームレスにします。

最新バージョン9では、DOMバインディングを検証するためにスキーマレジストリを使用することで、アプリが潜在的な問題を回避することもできなくなります。

その上、一貫したテンプレート診断は、説明的なエラーメッセージの生成をサポートするのに有利です。

APIExtractorでのアップグレード

Angularは、個別に開発されるさまざまなソフトウェアライブラリに依存しています。

Angularユーザーは潜在的なバグを見逃すことはできず、最新の機能がライブラリに組み込まれています。

それに応じて、Angular9はAPIExtractorを新しいバージョンに更新します。

Angularは、ソフトウェアテストとビルディングオートメーションを可能にするオープンソース機器としてBazelを使用しています。

Bazelは、Angularツールチェーンによるビルド時間に関係するツールです。

また、TypeScriptコンパイラエンジンの利点を利用して、コントラクトレポートを作成し、プロジェクトのエクスポートされたAPIサーフェスを検出し、可視性と不整合を見逃します。 APIドキュメントを作成します。

APIエクストラクタのような機能や、フレームワークを効率的かつ生産的にする言語サービスの定期的な改善により、これはまったくエキサイティングな更新ではありません。

Angularの未来には何がありますか?

Angular 9の開始により、コミュニティは小さなアプリケーションから高性能のアプリケーション、そしてかなりの開発者経験までの利点を得ることができます。

開発者は、より正確なプロジェクト構造とクリート構文も持っています。

Angularチームは、APUに大きな変更を加える必要がないことも予想しています。

コンポーネントを作成するための非推奨や代替方法は他にもありますか?

将来的には、ディレクティブとコンポーネントの開発により多くの時間を費やすことに焦点が当てられ、それらをまとめるための時間が少なくなります。

Angularチームは、いくつかの修正されたコンパイラの問題とモジュールのパッケージ化に関するいくつかの推奨事項も支援します。

このプロセス中に、チームはAngularチームの推奨に基づいて、Ivyコンパイラーの解析を改善するために縮小化されたTerserも移行します。

AngularJSモバイルアプリ開発を使用してモバイルアプリも構築したい場合は、Elsnerに連絡するのが適切なタイミングです。