毎週、「アイビーはいつ準備ができますか?」という質問を受け取ります。 バージョン8.0の現状を説明し、Ivyエンジンを思い浮かべてリリースする計画を共有してください。
今年の第2四半期にリリースされる8番目のバージョンでは、予備バージョンのIvy(Ivy Preview)をオプションで含める可能性を紹介します。
バージョン8.0の新機能
私たちのチームのほとんどは開発に真剣に取り組んでいますが、バージョン8.0のいくつかの更新を導入する準備ができています。 最終バージョンの一部の機能は、以下で説明する機能と異なる場合があることに注意してください。
- 最新のJavaScriptの差別化された読み込み。
CLIは、ビルドプロセスの一部として廃止(ES5)および最新(ES2015 +)JavaScript標準のバンドルを作成するようになりました。これは、ブラウザーに応じてクライアント側にロードされるため、最新のブラウザーでの最初の対話までのダウンロード速度と時間を削減します。 この機能はManfred Steyerと共同で開発され、彼のプロジェクトngx-build-modernに基づいています。 - Ivy Previewを接続する機能。
アプリケーションがIvyでどのように機能するかを評価し、最終バージョンに必要な調整を行えるように、印象をお聞かせください。 - 旧バージョンのAngularルーターとの完全な互換性。
大規模プロジェクトの更新プロセスを簡素化する下位互換性モードを追加しました。 開発者は、$ route APIを使用してAngularJSアプリケーションの一部の遅延ロードを許可することにより、Angularにアップグレードするのが簡単になります。 - Web Workerバンドルの改善。
Webワーカーは、独立したスレッドで実行されるコードを作成する優れた方法です。これにより、作業が高速化され、アプリケーションの並列性が向上します。 多くの開発者の要求に応じて、コマンドラインインターフェイスはWebworkerのバンドルをサポートします。 - 使用状況データの送信(オプション)。
開発者のニーズをよりよく理解するために、コマンドラインインターフェイスにテレメトリーを追加します。 お客様の同意を得て、使用するコマンドやビルド速度などの匿名データを収集します。 開発者がAngularをどのように使用しているかについての情報が多いほど、製品をより良くすることができます。 - 依存関係の更新。
いつものように、JavaScriptエコシステムの他の部分に追いつくために、特にTypeScript、RxJS、およびNodeの依存関係を更新します。
Ivyのさらなる開発はどのようになりますか?
バージョン8.0では、Ivy Previewを有効にする機能を導入したいと考えています。 Ivyを初めて使用する場合は、 KaraのGoogle I / O 2018でのIvyのプレゼンテーションをご覧ください 。
予備バージョンでは、 Ivyと標準のView Engineを切り替える機能があります 。 これについての詳細は、将来のベータ版に記載される予定です。 アプリケーションがIvyコンパイラーでコンパイルされている場合、互換性コンパイラーを実行することにより、Angularまたは他のサードパーティコンポーネントからの依存関係が引き続き機能します。 予備バージョンを使用すると、依存関係を接続するときにエラーを検出し、コンパイラーの改良に役立てることができます。
Ivy Previewに期待できること:
- 実行時に読みやすくデバッグしやすい生成コード
- 再構築時間の短縮
- 最適化されたバンドルサイズ(バンドルサイズの縮小は実際のアプリケーションで既に顕著ですが、この部分ではいくつかのさらなる改善が計画されています)
- 高度なテンプレートタイプチェック
- 以前のバージョンとの完全な互換性
Ivyはすべてのユースケースをカバーする準備がまだ整っていません。 Angular Universalのi18nなどの一部の機能は、ほとんどの場合プレビューでサポートされません。 特に、Angular Language ServiceはIvy Previewでは機能しません。
予備バージョンの目的は、既存のアプリケーションを書き換えることなくIvyエンジンに転送することです。 また、Angular Labsおよび将来のリリースの一部として、公開APIに後で追加するIvy固有のAPIも多数あります。
すべての準備が整うのはいつですか?
2019年4月にリリース候補を発表し、1か月後に公開バージョン8.0.0をリリースする予定ですが、条件について確約することはできません。 バージョン8.0.0では、Ivy Previewは、Angularの以前のバージョンとの完全な互換性の論文をテストするように設計されています。 また、将来必要になる自動移行ツールを開発することもできます。
以前のバージョンとの完全な互換性を実現し、既存のアプリケーションをサポートすることを目指しているため、今秋リリース予定の次のメジャーバージョンのすべてのユーザーにIvyを強制的に組み込みたいと考えています。
第9バージョンでIvyの全機能を導入すると、開発者にとって多くの機会が開かれます。これは朗報です。 まもなく、新しい機能、API、Ivyを使用する機能、およびそれを使用した開発の導入計画を共有します。
ブログの投稿、 ツイッターをフォローし、ng-confカンファレンスに参加して計画の詳細を確認してください。