AppleもiOS/macOSをProgressive Web Apps(PWA)対応へ。次のSafari 11.1でService Workerなど実装

2018年2月14日

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をサポートすることは、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の日本語情報についての要望などが語られます。

あわせて読みたい

HTML/CSS Web技術 PWA




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本