【連載】プログレッシブ・ウェブアプリ 概要 【PWA】
第1回 【PWA】プログレッシブ・ウェブアプリとは
2017年、そしてこれからのアプリ開発を牽引していくのではと、個人的に思っている【PWA】プログレッシブ・ウェブアプリを解説していく。
これまでブログではハイブリッドアプリに焦点を当ててきて、アプリも複数リリースできたところだが、これからは【PWA】プログレッシブ・ウェブアプリではないかと思っている。
【PWA】プログレッシブ・ウェブアプリとは
プログレッシブ・ウェブアプリ(以下PWA)は、WebアプリにネイティブアプリのようなUXを取り入れたもの。
もともとはWebアプリ向けに提唱されたものであり、2015年に発表されて以来、話題となっている。
以前紹介したWebアプリの記事をみてもらうとわかるが、Webアプリにはデメリットが多くある。
www.sky-limit-future.com
いままでの Webアプリは開発コストなどは低く抑えられるものの、ユーザーが求めるレベルの動きを実現するのは難しかった。
また、ネイティブアプリなどと比較して、使えない機能が多かった。
PWAはこのWebアプリの短所を補うもの。
つまり、動きや機能をネイティブアプリに近づけたWebアプリ。
【PWA】プログレッシブ・ウェブアプリではどんなことができるのか
詳細情報は他で行うが、PWAには以下の特徴がある
■ネイティブアプリにしかなかった機能をサポート
プッシュ通知やホーム画面へのアイコン追加
■公式ストア不要
公式ストアのしがらみに縛られることがなくなる
■オフラインでも使える(Service Worker)
オフライン状態で使っても、オンラインになったと同時に同期される
■インストールなしで使える
気軽に試すことができ、ユーザー獲得につながりやすい。
■開発環境の準備ほとんどいらない
Chromeとかがあれば開発できてしまう
■iOS、Androidなどを考慮することなく開発できる
開発、メンテナンスがラクになる。
もちろんデメリットもあるが、それは今後の動向次第でデメリットではなくなる。
Googleが諦めない限りは、今後の主流になってもおかしくない。
いまさらPWA??
PWAが提唱されてから2年くらい経過した。
なぜ今になって、PWAを推すのかというと、
Endlich! @tomayac https://t.co/psib8naFHI pic.twitter.com/pxIIMu1K5G
— Marco Pöhler (@marcopoehler) August 3, 2017
まず、PWAの最大の強みは「Service Worker」。
上記で説明した、「オフラインでも使える」という特徴。
しかし、この「Service Worker」をiOSがサポートしていなかった。
いや、今もサポートはしていないけど、サポートする方向で動いているらしい。
アプリといえば、iOSとAndroidの2強。
AmazonやWindowsもまだまだ。
そんな中、iOSが「Service Worker」をサポートしていなかったら、やっぱり実装を分ける必要がでてきたり、それを考慮するのも面倒くさい。
で、ようやくiOS側も重い腰を上げてくれた?という噂。
ネイティブアプリ vs PWA
AppleはAppleStoreという強大なネイティブアプリ天国を保有しているから、AppStoreを経由することなくアプリを手にいれることができる、というこのPWAには反対だったんだろう。
でも、ここにきて「Service Worker」のサポートをする方向に動いたのは何かあるんだろうか。
背景はわからないが、どちらにせよPWAの勢力がさらに強大になったとしても、ネイティブアプリがなくなることはないと思っている。(個人的な考え)
以前、こんな記事を書いた。
ここでは、AppStoreに登録されているアプリ数などを紹介している。
この記事は2016年に作成したものなので、現在2017年8月現在の情報で更新作業中なのだが、公式ストアの登録アプリ数やアプリのダウンロード数は確実に伸びている。
伸び率もかなりすごい。
記事が完成したらリンク添付します。
こういう情報を見ていると、ネイティブアプリが廃れるというのは現段階では考えにくい。
ネイティブアプリかPWAどちらか一方が勝者になるという考えではなく、ともに成長して行ってPWAは新たな大きな市場になると見た方がいいんじゃないかな。
Appleもそういう見方で、「Service Worker」のサポートを決意したのでは?
ハイブリッドアプリ vs PWA
ハイブリッドアプリを推してきた僕には、緊張感の漂う言葉。
今後のことはわからないが、現段階では、やはりネイティブアプリにしかできないことがある。
PWA単体だと、ハードウェアへのアクセスなどができない。
そのためにハイブリッドアプリがあるわけだが。
しかし、こちらも一方が勝者、一方が敗者とはならないと思う。
なぜならハイブリッドアプリとPWAは共存できるのでは?と思っているから。
つまり、ハイブリッドアプリの中でPWAの考え方を使ってしまおうという考え。
そもそもハイブリッドアプリとPWAは目的地は同じだけど、経路がちがう。
ハイブリッドアプリ = Webアプリ in ネイティブアプリ
PWA = ネイティブアプリ in Webアプリ
こんな感じ。
ハイブリッドアプリはネイティブアプリの中にWebアプリを取り入れている。
PWAは逆で、Webアプリにネイティブアプリの機能を取り込んでいる。
ハイブリッドアプリ = Webアプリ + ネイティブアプリ
だけど、このWebアプリの部分にPWAとしてしまう。
ハイブリッドアプリ = PWA + ネイティブアプリ
こうすればハイブリッドアプリが持っていたデメリットも解消できて、よりスマートなアプリ開発ができると思う。
できるのかな??
(参考)
3章 ハイブリッドアプリのメリット・デメリット -【連載】ハイブリッドアプリの最新情報とその動向【Corodva】 - The sky is the limit
以上、PWAについての簡単な説明と僕個人の考え。
何か、間違っている考えや情報があればご指摘よろしくお願いします。
次回は
第2回 【PWA】ネイティブアプリ/ハイブリッドアプリ/ウェブアプリとの違い - 【連載 】プログレッシブ・ウェブアプリ 概要【PWA】 -