AppleもiOS/macOSをProgressive Web Apps(PWA)対応へ。次のSafari 11.1でService Workerなど実装
Appleが、iOSとmacOSの次バージョンにバンドルされるSafari 11.1で、Progressive Web Apps(PWA)の重要な構成要素であるService Workerをサポートすることが分かりました。次のiOSとmacOSのバージョンはiOS 11.3/macOS 10.13.4で、現在ベータ版としてAppleが開発中です。
PWAとは、HTML、CSS、JavaScriptなどのWeb技術によって開発されるWebアプリケーションの一種です。Webサーバから配信されて実行されるだけでなく、リソースをローカルに保存しオフラインでの実行にも対応。Service Workerによるバックグラウンド処理やプッシュ通知なども可能で、まるでネイティブアプリケーションのように振る舞うことができます。
先週、マイクロソフトがWindows 10でPWAをサポートすることを宣言したばかりでした。
下記はAppleでSafariの開発を担当しているRicky Mondello氏のツイート。iOS 11.3/macOS 10.13.4はService Workerを含むとしています。
これはOSそのものがService Workerを含むというより、後述するようにそれらのOSにバンドル予定のSafari 11.1がService WorkerやWeb App Manifestなどをサポートし、OSとSafari(あるいはそのレンダリングエンジン)が連携することで、まるでiOS/macOS上でPWAが単独のネイティブアプリのように実行できることを指すと見られます。
Safari 11.1でService WorkerとWeb App Manifestに対応
Safari 11.1がService WorkerとWeb App ManifestをSafari 11.1がサポートすることは、Appleの公式ドキュメントでも確認できます。
Service Workerは、Webアプリケーションのバックグラウンド処理や、ネットワークプロキシを実現することでアプリケーションのオフライン対応などを実現する、PWAにとって重要な機能です。
一方、Web App Manifestとは、そのWebアプリのアイコンや起動時のスプラッシュ画面、起動後の表示形式や振る舞いなどを設定するためのJSON形式のファイルです。例えば、Webブラウザの外観やナビゲーション、URL表示などを一切省略するような指定も可能で、この場合にはWebアプリはWebブラウザ内で動くというよりも、まるで独立したアプリケーションのように見えます。
Safari 11.1では、iOSのホーム画面にWebサイトのアイコンを保存するときに、このWeb App Manifestを対応させることが可能になります(上記のMondello氏のツイートではiOS 11.3でサポートとのこと)。つまり、ホーム画面に登録したPWAのアイコンをタップすると、Web App Manifestの設定次第で、オフラインでも起動しWebブラウザの枠も表示されない、まるでネイティブアプリのような外見と振る舞いをPWAに持たせることができるようになるはずです。
AppStoreを経由せずにiOSへアプリケーションが配布可能になるのでは
iOS/macOSでのPWA対応は、特にiOSのアプリケーション市場に対する大きなインパクトになると見られます。
というのも、PWAによって実質的にiOS用アプリケーションがAppStoreを経由せずに配布できるようになるからです。Safari 11.1では「Payment Retuest API」によりApple Pay経由での支払いも実装される予定であり、ユーザーに対する課金機能を備えたPWAも実装可能と見られます。
WebAssemblyなどWebアプリケーションの実行速度も向上しており、ネイティブアプリケーションと変わらない外観、機能を提供し、しかも何日も承認待ちとなるAppStore経由での配信を使わなくて済む、という新しいPWAの能力を、魅力的に考えるアプリケーション開発者は少なくないはずです。
今後もPWAの実行環境はさらに充実していくことを考えれば、iOS/macOS対応ネイティブアプリケーションのかなりの部分がPWAへ置き換わっていくと考えてもおかしくないでしょう。
Windows 10もPWA対応に。夏以降PWAへの注目が高まるか
そしてPWA対応の動きはiOS/macOSだけでなく、Windowsも同様であることを先日の記事「マイクロソフト、Progressive Web Apps(PWA)をWindows 10のデスクトップで実行可能に。Windows 10はWindows、Linux、PWA対応のプラットフォームへ」で紹介しました。
マイクロソフトは今春に予定されているWindows 10の次期アップデートで、Windows 10をPWA対応のプラットフォームにしようとしています。
そして、Safari 11.1を含むiOS 11.3/macOS 10.13.4が現在ベータ版であることを考えると、こちらも夏前には製品版がリリースされると考えてよいでしょう。
するとWindows 10、iOS、macOSなど複数のOSで、夏頃からPWAのための実行環境が整い始めることになります。今年の夏からは一般ユーザーのあいだでPWAが使われ始めるタイミングになってくるかもしれません。
カテゴリ Web技術 / JavaScript
タグ HTML5 , PWA
あわせてお読みください
- マイクロソフト、Progressive Web Apps(PWA)をWindows 10のデスクトップで実行可能に。Windows 10はWindows、Linux、PWA対応のプラットフォームへ
- Angular座談会(前編)。コンポーネントの設計はどうする? モジュール分割の方法は? ビルド遅くない? 開発者が生々しく語る現場の悩みとは。ng-japan 2017
- SafariとEdgeの開発版、Service Workerがデフォルトで利用可能に
- PhoneGap/CordovaがAPIの更新をめぐって意見を募集中。Web開発環境において、後方互換性の維持と最新の標準対応をどうバランスさせるか
- [速報]マイクロソフト、HTML5/JavaScriptアプリをiOS/Android/Windows対応に一括変換する「ManifoldJS」をオープンソースで発表。Build 2015
前の記事
Google、機械学習に最適化したクラウドサービス「Cloud TPU」ベータ公開開始。TensorFlow用の独自ASIC採用