Angular Info

週次ミーティングとBeta.10予告

こんばんは、らこです。今週も週次ミーティングの内容をかいつまんで紹介していきます。

3/14 週次ミーティング

Batarangleの更新

Angular 2用のBatarangleがBeta.8に対応したようです。というよりもBeta.8で追加されたAPIを元に解析するので、
Beta.8以前のAngular 2アプリケーションはBatarangleでデバッグできなくなりました。

新機能としてRouterやDIのInjector周りのビジュアライズができるようになったらしいです。
今後はComponentやRoute、DIなどをリアルタイムでオンオフ切り替えしながらビューを比較できるようなことを目指すらしいです。期待。

Angular 2 Final進捗報告

Angular 2 Finalに向けて大きなカテゴリごとに進捗報告です。

Code Generation

今まであまり表に出ていなかった計画ですが、Code Generation(コード生成)による爆速化に向けて作業が進められています。

Code Generationとは、現在bootstrap時に計算しているリフレクションを事前に計算しておき、起動処理時間を短縮する試みです。
具体的には@Component@Directiveなどのメタデータの計算結果をコードとして生成します。作業はこのPRで行われています。
現在はまだTypeScript/JavaScript版でしか動作せず、Dart版でも使えるようにしている段階ですが、完成すればざっくり5倍は速くなるそうです。

Imgur

ng2-material

今週Alpha版のリリースがあるようです。最初はAlpha.0からスタートで、ngButtonngCardなど基本的なパーツだけを含んでいます。
今後のアップデートで要素はもっと増えていく予定です。

Gesture

モバイルのタッチイベントなどに対応するライブラリも開発中で、ng2-materialからも利用される予定です。

進捗具合

現在のところ20%程度です。


Angularプロジェクトのnpmガイドライン

Angularプロジェクトで公開するnpmパッケージについてルールを決めようという話です。
現在Angular2本体はangular2として公開されていますが、npmで検索した時にどれが公式のパッケージなのかわからない問題があるということでどうにか解決できないかと模索中です。
具体的には、先日公開されたng1用のComponentRouterは@angular/routerとして公開されており、@angular/スコープを一律で使うようにするのがいいんじゃないかという意見が強いです。
ただし特殊なパッケージ名に見えるしnpm依存の何かしらのツールでは対応できないんじゃないかという懸念がありより良い方法がないか検討中です。

Fluent Conferenceが開催されました

オライリーが主催のFluent Conferenceが開催され、BradがKeynoteでAngular 2についてスピーチしました。

Angular 2 and the future of HTML5 apps - O’Reilly Media

先程のCode Generationの画像もこの動画からです。Angularイベントではないのに新情報が盛り沢山なのですが、一番衝撃的だったのはAngular Universalの今後です。
現在Node.js用に開発されているAngular Universalが将来的には.NetやPHP、Javaでも使えるようにするとの話です。

Imgur

先日JeffがJavaやPythonもサポートするだろうと言っていたのはあまり真に受けてなかったのですが、Bradが公式にプレゼンした以上これはほぼ確約と言っていいのではないかと思います。
とはいえ今年中に来る気はしないですが楽しみに待ちましょう。

ng1用ComponentRouterのドキュメントができました

Angular 1.5のドキュメントにComponent Routerの使いかたが追加されました。

AngularJS: Developer Guide: Component Router

Zonesの標準化

Zonesの仕様をTC39のStage 1に上げようという計画です。現在のZone.jsの全部の機能を仕様化するのはやめて、最小限の機能でまずはv1としてStage 1に移行させる予定です。
今月28日のTC39のミーティングにむけて作業中のようです。

メソッドパラメータのDecoratorについて

Babelでメソッドの引数にDecoratorを使えるようにPRを出したらしいです。これが通ればAngular 2のES6版とTS版は型の有無以外の差がなくなります。


ざっくりこんな感じです。Bradの動画はぜひ見て欲しいです。

今日はさらに今週リリースされるであろうBeta.10の予告も行います。久々に大きな変更がありますので備えておきましょう。

@Viewの廃止 [破壊的変更]

随分前から非推奨になっていた@Viewアノテーションがついに削除されました。もし古いコードで依存している場合は@Componentに切り替えましょう

chore(core): remove @View annotation · angular/angular@f9fb72f

Shadow CSSにおける/deep/>>>のサポート

CSSの/deep/>>>が`ViewEncapsulate.Emutatedでもサポートされます

feat(shadow_css): support /deep/ and >>> by tbosch · Pull Request #7563 · angular/angular

ngPluralの追加

i18n用の新しいディレクティブngPluralngPluralCaseが追加されました。ngSwitchと似たような使い方をします。

@Component({
  selector: 'app',
  template: `
    <div [ngPlural]="value">
      <template ngPluralCase="=0">there is nothing</template>
      <template ngPluralCase="=1">there is one</template>
      <template ngPluralCase="other">there is some number</template>
    </div>
  `,
  directives: [NgPlural, NgPluralCase]
})

というわけで今回はここまで。それではまた。