(個人的な感想です)
Angular2が最初に反発が大きかったのは結局はコミュニケーションの問題かなーという感じがしています。 (内容的に反発は避けられない変更が多いけど、それ以上に炎上してた感じ)
一方Emberが2.0についての提案を出した時に肯定的な反応が多かったのは、Transition Planという形でどういう移行が行われるかも含めれて書かれてた所が大きそう (Emberを使ってるユーザーがAngularほど幅広くないという話は置いておくとして…)
RFCという形で出したのも大きそうでちゃんと意見を聞くよという議論から始めていて、Angular 2の場合はイベントでこういう変更をするという話(と実装中という話)をしたので反発が大きかった印象。
(特にAtScriptというTypeScriptのsupersetをいきなり出してきのもきたのも要因な気がする。そんなの実現できるの?いまさら新しいAltJSなの?という感じで)
最近は落ち着いてきて、今後Angular2に対応していくにはどうするかやES6と合わせて使うにはどうするかみたいな記事が増えてきたので、使おうとする人は前向きになってきた感じ。
Angular側も先週のng-conf 2015で、やや方針転換があってAtScriptはなくなり、TypeScriptにAtScriptの機能であったアノテーションなどが実装されていくので、それを使う方針に変わりました。
また、keynoteでマイグレーションガイドを予定してることや Angular 2のサイトが公開されたりしました。
- Angular 2 and TypeScript – Marius Schulz
- 以下に現状のAtScriptについてまとめた
- http://jser.info/2015/03/09/eslint0.16-atscript-is-typescript/
- Angular 1.x -> 2の変更に必要なコストはゼロではない
- Angular 1.xの設計が色々歪だったのを2で治そうとして真っ直ぐにしたけど、地面に刺すときに角度を間違えた
- ここからどう補正できるかはGoogleの頑張り次第
- Angular自体は便利なコンテキストがあるので、使う人は使うはず
- TypeScript連携がちゃんとできるようになるので、堅く作れる(レール的なものもある)
- 2系も2系で新規で使うにはよりよいものになってる可能性はある
- ただし、アノテーション記法などが標準に入るのだいぶ先な予感(もしくは入らない)はあるのでAngularワールドは存在すると思う。
この騒動からの学び
https://twitter.com/azu_re/status/569811130144567296
- ライブラリを決めるときに調べて終わりじゃなくて、その後もちゃんと追うべき
- ��具体的にはissueとかを定期的に見たほうがいい(今issue使ってないライブラリは殆どない)
- それを共有する
- メインとなるライブラリなら、チーム内でIssueやPRを読み合わせしてみるとか
- OSSなので、乗っかるだけじゃなくて直すこともできるよ
- どっちにしてもタイミング逃すと直しにくくなるので、軽くは追っておく必要があるはず
- コミュニケーションなし(issueで議論なし)にいきなり破壊的な変更を導入してくるのは一種の危険信号
- 繰り返し起きたらさすがに危ない
- underscore.jsの件 とかはそれですね