「Angular 4.0」リリース、小型化と高速化が計られる

 GoogleのAngular開発チームは3月23日、JavaScript向けWebアプリケーションフレームワーク「Angular 4.0」をリリースした。生成するコードの小型化と高速化のための取り組みを進めたほか、サーバーで動かす「Angular Universal」プロジェクトのマージなど多数の強化が加わった。

 Angular 4.0は、2016年9月にリリースされたAngular 2.0系に続く新しいメジャーリリース版となる。ほとんどのアプリケーションでバージョン2系と後方互換性があるという。

 Angular 4.0の特徴として、本体の小型化と高速化、ビューエンジンの改善、アニメーションパッケージの分離などが挙げられている。ビューエンジンではAOTコンパイル(Ahead of Time、事前コンパイル)が改善され、生成されるコードのサイズが約60%小さくなるという。テンプレートが複雑な場合はより多くのコード量削減が期待できるとのこと。また、アニメーション関連パッケージがコアから分離され独立したパッケージとなった。これにより、アニメーションを使わない場合により小型化が図れるという。

 機能面でも強化が図られている。TypeScript 2.1/2.2との互換性が加わったほか、ngIfとngForの両ディレクティブを改善し、if/else形式のシンタックスを利用できるようになり、ローカルの変数を割り当てられるようになった。

 コミュニティによって立ち上げられたAngularをサーバーサイドで動かすプロジェクト「Angular Universal」の統合も行われた。現在、ほとんどのコードが@angular/platform-serverリポジトリにマージされているという。

 不要なコードを削除するtree-shakingを進め、ビルド、トランスパイルなどを高速化するFlat EMS(FEMS)モジュールを導入、ES2015のFlatEMSも実験的に加わった。Closureとの互換を実験導入し、コードにClosureアノテーションを含むようになった。Closure最適化を利用してバンドルの容量を小さくしたり、tree-shakingを行うことができるとメリットを説明している。

 Angularチームは今後のリリーススケジュールについて、2017年9~10月にはバージョン5、2018年3月にはバージョン6、2018年9~10月にはバージョン7をリリースすることも明らかにしている。

Angular
https://angularjs.io/