こんにちは、開発部の森です。
4/23に日本Androidの会の主催で開催された「PWAに備える3ヶ月」の第二回勉強会に参加してきました。
勉強会に行くのが初体験でしたのでその感想を記事に書きたいと思います。
この勉強会の主催団体、日本Androidの会は、日本でのAndroid普及のために様々なイベントを開催しているユーザーコミュニティです。
弊社にはAndroidの会でスタッフをしている人が多数おりまして、関わりの深いコミュニティです。今回の勉強会も社内で事前に告知があり、それがきっかけで参加することになりました。
勉強会のテーマだったPWA(Progressive Web Apps)は、WEBの技術を使ってネイティブアプリのような機能や操作性を提供するものです。PWAの実装にはブラウザのService Workerと呼ばれるバックグラウンドで動くイベント駆動のJavaScript環境を利用します。
今年の3月29日にAppleがService Workerに対応するSafariを搭載したiOS11.3をリリースしたため、既にService Workerに対応していたiOS以外のモバイルOSを含めてほぼ全てのモバイル端末でPWAが実現できるようになったため最近注目を集めています。
(参考URL-ブラウザ毎のService Workerへの対応状況:https://caniuse.com/#search=service%20workers)
このService Workerを使用することで、
・キャッシュの制御による表示速度向上
・ホーム画面にアイコンが持てる
・オフラインでもキャッシュが使える
・Push通知(iOSでは未対応)
等の、ネイティブアプリのような操作性に優れた機能を実現できるようになります。今後様々なWebアプリがPWA化されて、ホームアイコンやPush通知以外にもモバイル端末の機能と組み合わせた様々な動作が実現できるようになっていくと思われます。
勉強会では、実際にPWAを試してみたり、仕事で採用して使っている方々の意見や感想を聞くことができました。もともとPWAについての知識がほぼない状態で話を聞いたので詳しい内容までは理解できませんでしたが、今後PWAを使う場合に気にした方が良さそうだと思った点は、
・PWAを用いたWebアプリは、見た目がWebと一緒なのでアプリっぽく見せるためにはデザインは結局別で考えないといけない。
・配布という面ではStoreを経由しなくてもいいのでWebアプリは手軽だが、ユーザーがStoreからアプリをインストールする形式に慣れ過ぎてしまっているためWebページからホームアイコンを作成するという動作に対して警戒されて使われないかもしれないという懸念がある。
といったことでした。こういう点を考慮してPWAを採用した方がよいサービスは一体どのようなものなのかを考えていく必要があると思います。
また、勉強会の締めでそもそも「PWAとは何か?」といった基本的な質問に発表者全員が答えていく場面があったのですが、
・Service Workerが本質
・ホーム画面にインストールできてオフラインでも動いて、オフラインでもオンラインでも同じユーザー体験ができる
・Webアプリより進化していればPWA
などといった回答でしたが、ユーザー体験の向上を実現することが目的という認識は共通でおっしゃられていました。ですからPWAの中でもユーザー目線で考えた上で最適な機能を取捨選択していくことも課題となりそうです。
今回参加した勉強会は、最新の話題についての情報をいち早く聞けるタイプの勉強会でとても面白かったです。こういったイベントを通じて自社以外のエンジニアの方々と会うのはいい刺激になり、自分自身の実力をつけて発信できるようにもなれば何か面白いものが生まれる可能性がありそうだと感じました。
特にエンジニア同士で手を動かしながら交流できそうなハッカソンは興味があるので今後そういったイベントにも参加してみたいと思います。
※この勉強会の模様はYouTubeでもご覧になれますので、ご興味がある方はこちらを御覧ください。