Sencha Touch 2.1の変更点まとめ

本記事は、Sencha Advent Calendar 2012 の3日目の記事です。Sencha Advent Calendar ですが、今のところ参加者がとても少ないです。。どんなネタでも大歓迎ですので、ご参加お待ちしています!

先月、11月6日に Sencha Touch 2.1 がリリースされました。ざっくりと以下のような点が追加・改善されたようです。

  • パフォーマンスの改善
    • ネストしたレイアウトでのパフォーマンス改善
    • paintedイベントへの変更
    • TaskQueueメカニズムの追加
  • Chart の機能改善
    • Drawパッケージの改善
      • 拡張可能なスプライト
      • 修飾子と属性の定義
      • フライウェイト・インスタンス化・スプライト
      • Retinaディスプレイサポート
    • Chartパッケージに新しいチャートを追加
      • 集合チャート
      • 金融チャート
  • コンポーネントの強化
    • 無限スクロール付きリスト
  • 新しいSencha Cmd
    • 強化されたネイティブサポート

詳しくは以下をみてください。

ところが、2.1で新しくなったのはこれだけではありません。というか、全然もっとある!!ということで Release Notesから、個人的に興味あるものをピックアップして紹介したいと思います。

チャート系

  • Implemented SVG support for Draw
  • SVG is now forced on Android 4.1 devices due to Canvas issues
  • Added webkitBackingStorePixelRatio support

チャート系のアップデートに伴い、draw系パッケージも各種強化されました。詳細は割愛。詳しくはRelease Notesみて下さい。Android 4.1 ではCanvasの問題から強制的にSVGになるようです。

dataパッケージ系

  • [TOUCH-2792] Implemented filters, sorters and paging into WebStorage proxy
  • [TOUCH-2844] Optimized clear method on WebStorage Proxy

WebStorageでもフィルタ、ストア、クリアができるようになった!

  • [TOUCH-2800] Implemented new WebSQL proxy
  • [TOUCH-3551] Added filtering and sorting capabilities to the SQL proxy

ようやくWebSQLプロキシが実装されました!!フィルタとソートも追加。

Sencha Command 関連

  • in-app purchases API for iOS
  • Contacts APIs for iOS and Android
  • Push notifications for iOS
  • openURL support

アプリ内課金、連絡先API、プッシュ通知などにも対応!

パフォーマンス

  • SizeMonitor refactored for improved performance
  • Improved Android 4 Scroll Indicator performance
  • Update Button SASS so it looks better on device
  • Change ListItems to not use vertical docking for headers. This improves performance since there is less DOM and less box layouts

スクロールや回転、リストのパフォーマンスアップ。ボタンデザインの修正。

  • [TOUCH-3497] Added support for iPhone 5 resolution startup screen

解像度が変わりましたからねー。

その他

  • [TOUCH-2888] Changed the default zIndex in message box to a larger number to stop accidental zIndex issues when creating other floating panels/components
    • 1.xの頃からあるバグで昔私も報告したなー。ようやく直ったようで。
  • [TOUCH-3042] Allow hideOnMaskTap to be changed dynamically
    • これは地味に欲しい機能。
  • [TOUCH-3031] Allow JS files to be specified as remote
    • JSの部分遅延ロードができるのかな?
  • Ext.browser, Ext.feature, Ext.os が追加
    • 機能判別やブラウザ、OS判定が便利になった!
  • POST calls will now honor the disableCache option
    • 例の iOS6 のPOSTキャッシュのバグ回避?
  • Added proper support for IE10 animateStartTime
    • IE10サポートも進んでいるようです。

総括

Release notesからざっくりと拾い出してみました。実はまだドキュメントに載っていない新機能が色々とありました。ソースを見ると入っているのですが、ドキュメント化が間に合ってないみたい。2.1 になって、細かい使い勝手などが結構改善されています。2.0 → 2.1 への乗り換えはそんなにコスト掛からないと思うので、是非検討されるとよいんじゃないでしょうか?

あと、たまにRelase notesを見ると思わぬ情報があったりしておもしろいですねー。ちゃんとドキュメント読みましょう、ということですね。

さて、Sencha Advent Calendar 明日は、また @kawanoshinobu さんです!その次が未定なので、ぜひ誰かJOINしてください!(切実