BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Ember.js 1.6が予定を遅れてリリース

Ember.js 1.6が予定を遅れてリリース

原文(投稿日:2014/07/15)へのリンク

Ember.jsチームは今週,JavaScriptフレームワークのバージョン1.6をリリースした。AMDローダを追加したことによって,予定より遅れてのリリースとなった。

コアチームのメンバであるRobert Jackson氏は公式発表の中で,1.6+ビルドがes6-module-transpilerによって,AMDにトランスパイル(transpile)される方法について説明している。トランスパイルされたモジュールを扱う小さなAMDローダを追加したことにより,旧型のモバイルクライアントでの起動スピードにパフォーマンス的な影響があったということだ。氏によれば,(訳注:トランスパイル - ある言語から他言語へのコンパイル処理)

このリグレッションに気付いたのが1.6.0の出荷直前(5月下旬)であったので,修正が完了するまでリリースを延期する決定をしました。

今になって思えば,これはまったく間違った決定でした。修正には当初の予想よりもはるかに時間が掛かり,その間,ユーザを1.5.1に留まらせることになってしまいました。ユーザの大多数にとって,このリグレッションは影響しないか,あるいは気にならないものであったにも関わらず,すでに完了したバグフィックス用のベータ版,あるいはカナリアチャネルを使用せざるを得ない状況です。

ユーザのXtian氏はこの発表に対して,“最初の部分がよく分からないのですが。ブートパフォーマンスのリグレッションは解決されたのでしょうか,それとも未解決なのですか?” と質問している。

Jackson氏の返答は,“まだフィックスしていません。完了次第,1.7ベータブランチにバックポートする予定です。” というものだった。

チームメンバのStefan Penner氏が詳しく説明している

フィックスの内容は,Brian Donovan氏による,square/es6-module-transpiler用の新しいバンドルフォーマットです。AMDローダを完全に取り除くため,ビルド全体も小さくなりますし,このブロックが改善されることで,Emberのコア内にある無効なサイクルも削除されます。

ちなみにこのブートの問題は,デスクトップブラウザではそれほど問題ではなく,Androidブラウザで遅延が大きくなっているようです。

しかしながら,この起動時間の遅延に付いて,バージョン1.6の新機能と1.7の予定で盛り上がっていたEmberのコミュニティはほとんど気が付いていなかった。

最新リリースで注目に値する変更点としては,Ember.computed.emptyのアップデート,キャッシュ参照スループットの向上,テスト性の向上したpromise,多数のバグフィックスなどがある。Jackson氏によると,Ember.computed.emptyがアップデートされたことで,依存キーとしてarray.[]の使用を強制されることなく,自動的に配列を認識できるようになったということだ。

promiseのテスト性の向上については,次のような説明がある。

1.5.1では,テストの実施中,Ember.runループ内のPromiseのresolveあるいはrejectコールをラップする必要がありましたが,通常の操作では,同じコードでもrunループ内でのラップの必要はありませんでした。1.6では,単なるテスト目的で,このようなrunループ内のラッピングを行う必要はありません。

1.6リリースの発表と合わせて,バージョン1.7のベータ版がリリースされた。1.7ではクエリパラメータがサポートされ,デフォルトで有効になっている。この発表は,コミュニティのユーザから暖かく迎えられた。NetNamesのソフトウェアエンジニアであるAdrian Meredith氏は,次のようにコメントしている

最新のクエリパラメータを使ってアプリケーションを更新しましたが,(必要な変更を行った上でですが,)ちゃんと動きました!1ヶ月ほど前にカナリアバージョンを使用したときよりも,ずっとよくなっています。 素晴らしいですね。

その他Ember 1.7では,次のような改善点がある。

  • ember-routing-consistent-resources
  • uuidがプロジェクト全体で一貫して使用されるようになった。
  • Ember.uuidがEmber自身のプロパティから内部関数に変更された。

Ember.jsはMITライセンスでリリースされている。InfoQの読者は,GitHubプロジェクト経由でEmber.jsにコントリビュート可能だ。バージョン1.7はスケジュール通りのリリースが予定されている。

この記事に星をつける

おすすめ度
スタイル

BT