iPhoneでPWAの恩恵は受けられるのか

  • 3
    いいね
  • 0
    コメント

iPhoneでPWAは実現できるのか?

PWA(Progressive Web Apps)を利用できる環境を調べてたときにふと出てきた疑問。

日本のWebサービス運営において避けて通れないのは、スマホユーザーの半数がiPhoneユーザーであること。
iOSのSafariでPWAが実現できない話は有名だが、それなら他のブラウザ入れたらいいのでは?
AndroidのChromeやFirefoxは使えたので、iOSにChrome、Firefox入れちゃえば使えるかも!?
・・・と、思ったので検証してみました。

PWAを実現するためにはServiceWorkerの存在が欠かせないので、それを呼び出せるかどうかで調べることに。

検証コード

以下のコードをそれぞれのブラウザで読み込ませます。
ServiceWorkerが定義されていればtrue、定義されていなければfalseを表示するだけの単純なスクリプトです。

isServiceWorker.html
<html>
<body>
<script>
alert('serviceWorker' in navigator);
</script>
</body>
</html>

検証環境

2017/06/18時点の環境です。検証コードの妥当性を確認するため、Androidも加えています。

  • iPhone7 iOS 10.3.2

    • iOS版 Safari 10.0
    • iOS版 Google Chrome 59.0
    • iOS版 Firefox 7.5
  • Softbank AQUOS Xx3(506SH) Android 6.0.1

    • Android版 Google Chrome 58.0
    • Android版 Firefox 54.0

検証結果

ブラウザ 結果
iOS版 Safari 10.0 ×
iOS版 Google Chrome Chrome 59.0 ×
iOS版 Firefox 7.5 ×
Android版 Google Chrome 58.0
Android版 Firefox 54.0

iOS、見事に全滅・・・_(┐「ε:)_

結論

というわけで、iOSにChromeやFirefox入れたとしても残念ながらPWA実現不可能・・・。

今回試したのはChromeとFirefoxだけですが、この結果を見ると
ブラウザがというよりiOSがServiceWorkerに対応していないって考えたほうがよさそうですね。
(というか、同じブラウザでもOSで異なることに驚きました・・・)

現在、PWAの恩恵が受けれるのはAndroid、PCの一部ブラウザということですね。

iOSでも対応したら、クロスプラットフォームなアプリが作れたりしそうで夢が広がりそうですが・・・。
Appleさん、お願いします><