どうも、らこです。今週もAngular 2のアップデートが行われ、Beta.13になりました。主な変更点をかいつまんで紹介します。
Beta.13リリース
デコレータメタデータの静的解決が実装されました
将来的に実装されるOffline Template Compileのための基礎となる機能が実装されました。
コンポーネントやディレクティブなどのデコレータで定義している設定(メタデータ)にJavaScriptを実行することなくアクセスできるようにする仕組みです。
これまではコンポーネントのテンプレートは実行時に文字列が評価されるので静的に解析するのが難しかったですが、
この仕組みによって予めメタデータの情報だけを抽出できるようになり、ツールによる静的解析に大きく寄与します。
さっそくcodelyzer(ng2lintから名前が変わりました)で使う計画もあるようです。
- feat(build): Persisting decorator metadata · angular/angular@ae876d1
- Use metadata reader · Issue #11 · mgechev/codelyzer
*ngIf
などの*-
系ディレクティブをng-contentで扱いやすくなりました
これはバグ修正に含めるべきな気もしますが、今まで*-
系のディレクティブが付いた要素はng-contentのselectで選択するときにtemplate
要素としてしかselectできませんでしたが、
この変更によって直接選択できるようになります。
次の要素がcontentになっていたとして、
<p *ngIf="condition" foo></p>
以前はtemplateでしかselectできませんでしたが
// Use the implicit template for projection
<ng-content select="template"></ng-content>
これからは直接selectできるようになります
// Use the actual element for projection
<ng-content select="p[foo]"></ng-content>
i18n関連機能の実装が終わりました
Angular 2 beta 13 is out! The i18n support begins in this release…https://t.co/nsyUVw2Rpr pic.twitter.com/QZU4ZfyR6s
— Angular (@angularjs) 2016年3月31日
i18nを実現するためのコンポーネント、ディレクティブ、サービスなどがようやく出揃い、i18n実装完了ということになったようです。
ただしi18n実装のトラッキングイシューでは全然完了してないので、公式ドキュメントが出るまでは待つほうがよさそうです。
急ぎで国際化を行いたい場合は、ocombe/ng2-translateを使うと良いでしょう。
ng-conf extendedのお知らせ
ソルトレイクシティで5/4から開催されるAngular最大のイベントng-confのライブビューイングイベントを開催します。
ng-conf extended Tokyo - connpass
上のイベントページはすべて英語で書いていますが、ng-confも当然英語のセッションですのでご了承ください。
日本に住んでいる外国人の方も何人か来てくれそうなので、英語で話ができるいい機会にもなるんじゃないでしょうか。
ちなみにイベントページにも書いていますが、ソルトレイクシティは日本と時差が15時間あるので、イベントの開始が日本時間の夜中0時で、終了が朝9時です。
結構ヘビーなので体力に自信のない方は自宅でゆったり見てもらったほうがよいと思います。
Angular 2のフットプリントのサイズを小さくする件について少しずつ動きが出ています。
まずは現在配布中のmin.jsが軒並み壊れている問題を解決するようです。
その次に、npmでインストールしたライブラリを含めてアプリケーションをminifyするときに壊れないようにするための手段を用意してくれるようです。
2,3週間以内に動きがあると思うので楽しみに待ちましょう。
それでは。