LoginSignup
13
5

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-06-18

【2018/06/10追記】
iOS 11.3からSafariでもPWAの恩恵を受けれるようになりました!
ただ、プッシュ通知やバックグラウンドの同期ができないなど、AndroidのPWAとは所々出来ることが違います。

こちらの方の記事が詳しくまとまっているので、参考にしていただけると><
iOSの11.3からのPWA対応でできるようになったこと

以下は、記事を書いたとき(2017/06/19)のお話なので注意してください。

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さん、お願いします><

13
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
5