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を含むとしています。
iOS 11.3 and macOS 10.13.4 include Service Workers — a powerful specification that allows background scripts to power offline web applications. iOS 11.3 also consults Web App Manifest when adding web apps to the home screen.
— Ricky Mondello (@rmondello) 2018年1月24日
これは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をサポートすることは、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に持たせることができるようになるはずです。
参考記事
マイクロソフトはWeb技術を用いてネイティブアプリケーションのように動作するProgressive Web Apps(PWA)を、WebブラウザのEdgeにとどまらず、Windows10のデスクトップ環境でも実行可能にすることを明らかにしました。
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が使われ始めるタイミングになってくるかもしれません。
参考記事
JavaScriptフレームワークとして知られるAngularのイベント「ng-japan 2017」がAngular Japan User Group主催で6月17日に都内で開催されました。
後編では、ビルドの話やAngularの日本語情報についての要望などが語られます。
あわせて読みたい
マルチクラウド採用の企業は81%、サーバレス採用の企業は12%から21%へ急増。RightScaleの調査2018年版
≪前の記事
Google、機械学習に最適化したクラウドサービス「Cloud TPU」ベータ公開開始。TensorFlow用の独自ASIC採用