A blog with thoughts and samples about mobile web created by Maximiliano Firtman.

Appleは22日、iOSの最新版となるiOS 4.2の配信を開始した。このバージョンからiPadも対応となり、iPhone、iPad、iPod touchで同じOSが稼働できるようになった。AirPlayやAirPrintの機能が追加されたバージョンとして注目されているが、WebデベロッパやWebデザイナとしては搭載されているSafariの機能が強化されていることに注目しておきたい。

iOSのSafariにどういった機能が追加されたのかがSafari on iPhone & iPad 4.2: Accelerometer, WebSockets & better HTML5 support - Mobile Web Programmingにまとめられている。実験的に調査した内容を整理したものとなっており、まだドキュメント化されていない機能についても知ることができて参考になる。紹介されている新機能は次のとおり。

  • 加速度センサおよびジャイロスコープセンサのサポート: iOS対応デバイスには加速度センサが搭載されている。iPhone 4やiPod touch 4Gにはジャイロスコープセンサも搭載されている。これら機能にDeviceOrientation Event経由でアクセスできるようになった。これらセンサはこれまではネイティブアプリからしか利用できなかったが、Webアプリからも利用できるようになった。
  • WobSocketsサポート: WebSocketsの実装が追加された。これまでAjaxで実施していたサーバとの非同期通信をWebSocketsを使ってもっと高速に実現することが可能になる。
  • 印刷機能のサポート: iOS 4.2にAirPrintが搭載されたことで、window.print()をコールすると印刷用のダイアログが起動するようになった。
  • 新しいJavaScriptデータタイプの追加: Blob、Float32Array、Int8Array、Uint8Array、Int16Array、Uint16Aray、Int32Array、UInt32Arrayなど。
  • SVGサポート強化: 20を越えるSVG操作クラスを通じてオンザフライでSVGドキュメントの作成が可能。
  • Canvasサポート強化: ImageDataデータタイプのサポート。
  • CSSメディアクエリ強化: JavaScriptからCSSメディアクエリを作成するstyleMedia APIを実装。
  • EventSourceにおけるServer-Sent Eventsのサポート。
  • XMLHttpRequest Level 2 FormDataインタフェースを実装。
  • HTML5フォームにおけるrequired属性を実装。

最新のブラウザが実装している機能が取り込まれている点と、iPhoneやiPadなどのネイティブセンサを使うための実装が追加されている点がポイントとなる。こうしたデバイスではセンサの活用が使いやすさや感動的なユーザ体験に結びついている側面が強いが、従来の実装ではWebアプリケーションからは利用できなかった。今後はブラウザ経由のサービスであってもこうしたデバイスの機能を扱いやすくなる。