次世代Angularレンダリングエンジン「Ivy」発表、さらに小型化し高速になる実行とコンパイル。ng-conf 2018

2018年5月14日

4月18日から3日間、米国ユタ州ソルトレイクシティで開催されたイベント「ng-conf 2018」の基調講演で、Angular開発チームは現在開発中の次世代Angularレンダリングエンジン「Ivy」の詳細を発表しました。

Ivyは、モバイルデバイスでも十分に動作するほど小さく高速で、開発者にとって利用しやすいシンプルなAPIなどを備えたレンダリングエンジンを実現することを目指しています。

Angular ivy fig1

これらはすべて既存のアプリケーションを変更する必要のない、後方互換性を保証しつつ実現しようとしています。

Angular ivy fig2

Google社内ではすでにAngularを用いたサービスが600種類以上提供されており、Googleは「ワンバージョンポリシー」によって、すべてのサービスが同一バージョンのAngularを採用しています。

Angular ivy fig3

そしてAngular開発チームは1日に数回、Angularのアップデートされたコードをリポジトリにプッシュしており、そのコードは必ずこの600種類以上のアプリケーションのテストをパスする必要があるとのこと。

そのため、もしもAngularのコードに互換性のないものが含まれていた場合、サービスの管理者からはコードのロールバック要求が出されるだろうと、Angular Framework LeadのMisko Hevery氏は説明します。

Ivyの重要なコンセプトが「ローカリティ」

Ivyの重要なコンセプトが「ローカリティ」です。ローカリティによる具体的なメリットは、例えばテンプレートを1つ変更した場合、現在は全体をコンパイルする必要がありますが、Ivyではそのファイルだけをコンパイルし直せばよい、というもの。

Angular ivy fig4

これによって、例えばnpmは事前コンパイル(AOT)されたコードの状態で提供可能になりますし、全体を再コンパイルしなくてはならないケースが減るため、開発中に一部のコードを変更してテストを行う場合のコンパイル時間なども短縮されます。

さらにローカリティによって「メタプログラミング」の可能性が見えてくるとMisko Hevery氏。メタプログラミングとは、例えばアプリケーションが自身の実行に必要なコンポーネントをアプリケーション内で生成しビルドする、といったものです。

Ivyはランタイムがすでにデモ可能な段階で、テンプレートコンパイラを現在開発中です。その後、Google社内で動作確認を開始し、ベータ版を公開。動作確認が済んだ段階で正式版をリリースする見通し。

Angular ivy fig5


ng-conf 2018

あわせて読みたい

JavaScript Web技術 Angular




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本