jQuery Mobile beta3がリリースされました!


jQuery Mobile beta3がリリースされたので、例によって変更点を簡単に紹介するだけの手抜き記事です。
詳細は本家を参照してください。
http://jquerymobile.com/blog/2011/09/08/jquery-mobile-beta-3-released/


変更点1.
pjaxが実装されました。history.pushStateに対応したブラウザであれば、従来のhash based URLではなく、綺麗なURLになります。

例えば、前はこんなURLだったのが
http://jquerymobile.com/demos/1.0b3/#/docs/api/events.html


こういう感じにURLが綺麗になります
http://jquerymobile.com/demos/1.0b3/docs/api/events.html

ソースを見るためにいちいち#を削らなくても大丈夫です。
ただし、ブラウザがhistory.pushStateに対応している必要があります。


変更点2.
新しくbeforechangepage、pagechange、pagechangefailedイベントが実装され、同イベントをフックすることによって簡単にページの内容を動的に生成できるようになりました。

//サンプル
$(document).bind( "pagebeforechange", function( e, data ) {
// 遷移先のページを生成
});

以前まであったpagebeforeshowやpageshowとは違います。pagebeforeshowは遷移先のページが存在しないとエラーになります。
まあページを生成するのは自分でDOMを構築しないといけないのは一緒ですが…。


変更点3.
iOS5がサポート対象に追加されました。iOS5では、position:fixedやoverflow:autoに対応しているため、固定ツールバーやページ遷移が凄くなめらかになります。

特に明示的に対応という感じではないですが。iOS5のposition:fixed対応などはjQuery Mobileじゃなくても喜んでる人が多いと思います。


変更点4.
A-gradeサポートにBlackberry 7が追加されました。これでモダンなデバイスはほぼすべて対応されています。


jQuery Mobile beta3の変更点は取りあえずそのぐらいかな。さすがにバージョンがあがってきたので大きな変更点は多くないです。バグフィクスの内容は困ってた人は各自確認しましょう。(とりあえず、リンクボタンが押しっぱなしになるのは直っていたので対応コードを削除しないと)


その他

  • jQuery Mobile beta3 その他1:アニメーションに使われているkeyframeベースからCSS3 transitionsへの移行は、正式リリース後に行う。理由は現行のブラウザでは両手法のパフォーマンスに差異がない(Operaはパフォーマンスが落ちる)
  • jQuery Mobile beta3 その他2: 必要なモジュールだけ組み込んで利用するダウンロードツールは現在準備中。(UIはいらないからページ遷移だけ使うとか、特定のパーツがいらないとか)


次は、いよいよRC1(正式版候補)で9月末にリリース予定です!