Can I do web?

AngularJS 中心の不定期ブログ

AngularJS 2.0 のご様子

Advent Calendar 20日目のポストです。

ちょうど2.0について書こうと思ってたところに、昨日さらにつっこまれたので取りあげてみます。

f:id:canidoweb:20141220163156p:plain:w400

で、画像中の記事がこちら

この記事について振られたので調べてみた。

元記事をお読み頂きつつ。

#ツールに新たに追加される概念は、1つではなく3つ!

これは2.0になるので知っておこう、なのでそうなりそうです。
ただし、AtScript については Optional な感じで良いと思います。TypeScript + AngularJS な人は知っておくと恩恵があるのではないでしょうか。

#変わるが、良くならない

このコードのサンプルだと、記述が変わったなということ位しかわからくて、あまり意味がありません。v2.0 では、Web Conponents や以前から統合するといっていたPolymer との連携を考慮すると、従来通りの Attribute にデータバインディングする方法ではどうにも解決できないので、代わりに Property にデータバインディングする、という方法に舵を切ったようです。

経緯については、こちらで議論されています。
※ 英語力 0なので、ちゃんと理解できてるかはわかりません

#2016年になるまで使えない

待ちましょう。ドラスティックに変わるものに対して、段階的にリリースされることが嬉しいことかどうかということです。段階的に出ても、機能が不足しているようなら使い物にならないので、Angular チームがそう判断したのならそれで良いと思っています。
AngularJS 2.0 のドラフトを見るとかなり大幅に手を入れていくだろうことがわかると思います。

#Angular 1.3のサポートは、2.0のリリース後わずか18~24カ月で終了

v1.3 のサポート終了はそうかもしれないですが、現在 v1.4 に向けて仕様策定しているので、1.x 系で作成している現状のアプリケーションは当面そちらを採用していくことになるかと思います。その後、v1.5 まではアップデートを検討しているようです。なので移行期間はそれなりにあるのではないかな、と。

#結論:Angularを選択しない

記事中に「安定していて長期のサポートを得られるフレームワークです。」ってあって確かにおっしゃる通りなんだけど、現段階で、10年後のWebの世界を見通した上で作られたフレームワークって無いと思う。結果的に上手く適応できたフレームワークが残ったって感じではないのかなぁって気がします。もしあるのであれば、理想的ですね。

AngularJS 2.0 で変わること

どうなっていくのか、どういった議論があったかなど、詳しく知りたい方はこちらを一通りご覧になると良いです。(めちゃくちゃ多いので気になるところだけでも...)

で、ざっくりと v2.0 では以下の機能達が亡くなります。

f:id:canidoweb:20141220201006p:plain:w120f:id:canidoweb:20141220201007p:plain:w120f:id:canidoweb:20141220201012p:plain:w120f:id:canidoweb:20141220201009p:plain:w120f:id:canidoweb:20141220204008p:plain:w120
これ見ただけでもかなり変わりそうだというのが理解できるのではないでしょうか。その代わりとして、新しい機能や記法がでてくるので、ある意味生まれ変わると思っていた方が良さそうです(もちろん良い方向に)。
詳細は別途、少しずつブログにまとめていこうと思います。

ng-europe のIgor Minar & Tobias Bosch のセッションで使われていたんですが、おもしろかった。


Angular 2.0 Core by Igor Minar & Tobias Bosch at ...