Ember 2.0がリリースされた -- が,新機能はひとつもない。
ブログ記事“Ember.JS 2.0 Released”の中で,Yahuda Katz,Mathew Beale両氏は,“ライブラリのメジャーリリースでは通常,2つのことを実施します。新しいAPIの導入,そして非推奨APIの削除です。今回のリリースで私たちは,ひとつの事に注力しました。すなわち,Ember 2.0の目標は新機能の導入ではなく,これまでに積み重なった,出来の悪い部分の削除なのです”と述べている。
この決定に対してJava Scriptコミュニティでは,1.13との後方互換性の維持が広く称賛され,概ね好意的に受け入れられている。
Katz,Beale両氏はEmber 2.0について,Ember 1.3で非推奨となった機能を削除したのみだと説明している。つまり,Ember 1.13上で警告なく動作するアプリならば,Ember 2.0でも動作することになる。
さらに,
Ember 1.0以降,セマンティックバージョニングを遵守したことが,私たちの素晴らしいコミュニティを育て上げてくれました。Emberは,極めて野心的なアプリケーションを支援します。そして,そのようなアプリケーションの大部分は,13回以上のリリースを通じて提供されてきた,新たな機能を享受できたのです。
私たちはすべてのEmberコードベースに,2.xへの移行パスの提供を約束しています。 これを実現するために,2.0で削除されたものにはすべて,1.xシリーズを通じて非推奨のフラグを付けてきました。Ember 1.13で非推奨の警告なしに動作するアプリならば,2.0でも動作するはずです。対応の必要な機能変更や,新たに採用された機能はありません。
Ember 2.0では,新機能は提供されていないかも知れないが,ViewやController,ReduceComputed,あるいはArrayComputedなど,いくつかのAPIが削除されている。
ViewとControllerはそれぞれ,ember-legacy-viewsとember-legacy-controllersという互換性アドオンでのサポートが継続される。これらは少なくとも,Ember 2.6までメンテナンスされる予定だ。ReduceComputedとArrayComputedはいずれも,Ember 1.13で導入されたGlimmerレンダリングエンジンによって,機能的に冗長になったものだ。
Hacker Newsの“Ember.js 2.0 Released”ディスカッションには早速,Emberチームを称賛するコメントが多数寄せられている。ユーザ“nercury”は次のようにコメントした。
Ember 1.13で非推奨の警告なしに動作するアプリならば,2.0でも動作するはずです。どのフレームワークが注意しなくてはならないこと,それは,別のフレームワークが作られたり,コミュニティが断片化したりするのをいかに防ぐか,ということです!これが実際に行動に移されているのは,素晴らしいことです。信じられないような成果ですね。
JavaScriptコミュニティがすべて,Emberが提供する2.0へのパスに満足している訳ではない。Tom Marsh氏は次のようにコメントしている。“1.8と1.13の違いを知っていますか? 別のフレームワークと言ってもよい位です。私たちのチームはこれまで,CLIの1.8から1.8への移行に3ヶ月を要しています。このままサポートを続けるには,まだ1.13へのマイグレーションを行わなくてはなりません。”
これに対して,Emberの共同開発者であるTom Dale氏は,“あなたのチームが大変な思いをしているのでしたら,本当に申し訳ありません。私たちは1.xから2.0への移行で多くのことを学びました。すべてがうまく行った訳でないことは事実です。ですから,2.xから3.0への移行では,私たちが今回学んだことをベースに改良を加えて,もっとスムーズなものにできると思います”と返答している。
Redditの関連ディスカッション“Ember.js 2.0 Released”では,ユーザ“awj”がEmberを擁護して,次のように発言している。
Emberは急速に変化しています。JavaScriptの世界そのものも急速に変化します。プロジェクトのニーズを理由とする人たちのコミットあるいは関与のレベルには,この動きが“速すぎる”のかも知れません。
しかしEmberは,私がこれまで関わってきた多くのプロジェクトとは違って,互換性の確保に多くの労力を割いています。Emberは急速に変化していますし,新たなコンセプトもあらゆる方向からやってきますが,それでも1.12から1.13にアップグレードすることで,すべての成果が失われてしまうようなことはありません。
Katz,Beale両氏は,開発者が今後経験するであろう障害への対処も,すでに一部で始めている。
Ember 2.0での非互換性変更に対する準備の中で,私たちは多くの誤りを犯し,それがたくさんのユーザを動揺させることになりました。
この“動揺”は,リリースプロセスの目標にまったく反するものです。6週間というリリースサイクルを継続し,維持管理することに加えて,私たちは現在,2.xの計画プロセスの調整を重ねています。これらは今後の2.xサイクルにおいて,同じような問題の発生を回避するためのものです。
ここで言う“調整”とは,LTS(Long-Term Support)リリース,より有益性の高い非推奨,非推奨ツールの改善,といったものだ。
Ember.jsはMITライセンスでリリースされている。InfoQの読者諸氏は,GitHubプロジェクト経由でEmber.jsにコントリビュートすることが可能だ。Ember 2.0リリースの全情報は,更新履歴で確認することができる。