iOS, Androidネイティブアプリ終了

Native Apps are Doomed (ネイティブアプリは終わる運命)という挑発的なタイトルでEric ElliottがMedium記事を書き少し前に話題になりました。この記事で彼はもうiOSとAndroidのネイティブアプリは作らんと宣言し全部Progressive web appsでやると言い切ったのです。

次の記事のWhy Native Apps Are Really Doomedではネイティブアプリ制作は以下の様な理由でギャンブルだと言っています。

  • Google Play Store内のアプリの60%は一回もダウンロードされていない
  • 1ユーザーの一ヶ月の平均のアプリダウンロード数は3つ以下
  • 半分以上のアメリカのスマホユーザーは過去一ヶ月一回もアプリをダウンロードしていない
  • アプリ経由の売上の94%が1%のアプリ出稿者によって作られている
  • スマホユーザーの使用時間の80%は5つのアプリの中で終わってしまう

これはアメリカの数字ですが、日本でも似たようなものだと思います。
周りの人に「最近新しいアプリダウンロードした?」と聞いてみれば分かりますよね。大体「こないだスマホを機種変したからアプリダウンロードした」くらいの答えしか返ってこないと思います。

ネイティブアプリができた理由
2007年の1月にSteve JobsがiPhoneの発表をした時に彼はその場で「Safariブラウザのエンジンを使えばiPhoneに入っているアプリと全く同じ動作をするweb2.0とAJAXアプリを作ることができる」と言っていました。「電話したり、メールしたりGoogle Mapsを見たり全部webアプリ内でやればいい」「SDKなしで今日からiPhoneアプリの開発を始めましょう」とも言い切りました。

実は2007年のiPhone発表時点はJobsはApp Storeの設置に反対していたんです。全てのアプリを審査するApp Storeなんか作っても審査できるほどのリソースが無いと言うのが彼の言い分だったそうです。
でもその後Appleの経営陣などにApp Store設置のメリットを説得され、
初代iPhoneの発売から1年後の2008年の8月からApp Storeが開始されました。
日本ではこの時期と最初のiPhoneの発売が一緒だったため最初からApp Storeが入った状態でiPhoneが発売されましたが、アメリカではApp Storeの無いiPhoneが1年くらいあったのです。

パソコンではネイティブアプリは10年前くらいに終わっていた
web2.0と言う言葉を知っていれば歳がバレますが、10年くらい前はいろんなところで言われていました。AJAXとかを使ってそれまで割と静的だったwebサイトがデスクトップアプリみたいな動作をするようになってきたweb2.0なサービスがすごい!みたいな事が言われてきたわけです。
そのころからパソコンの中で何かをやる時はwordみたいな一部のデスクトップアプリを除いてほとんど全ての作業をChromeなどのwebブラウザ内でやるようになりました。

Facebookアプリってデスクトップ版無いでしょ?でもスマホではFacebookアプリ使いますよね。
パソコンでは当たり前だったネイティブからwebアプリへの移行がモバイルでもやっと始まったのです。

PWAが最近現実的になってきた理由

  • スマホとブラウザの機能があがってきた
    2007年にiPhoneが登場した時はSafariブラウザもしょぼかったのでなかなかパソコンと同じ様にwebブラウザではいろいろできませんでした。
    この10年でスマホの性能は劇的に上がり、その中で動くブラウザでもそれなりのスピードで動作するようになったため限られたスマホの性能を最大限に活用するようなネイティブアプリである必要がなくなったのです。
  • 開発言語やサーバーの進化
    スマホの性能向上も重要ですが、もっと重要なのはフロントエンドの開発言語の環境が良くなってきたことにあります。これまでアプリを作るにはiOSはSwift/ObjectiveC, AndroidはJavaなどと別々な言語で書く必要がありましたが、3年くらい前からiOSとAndroidのアプリを両方いっぺんに書けるハイブリッドアプリ開発フレームワークというのが出てきました。天野が今メインで使っているIonicというJavascriptのアプリ開発フレームワークはwebviewという中間レイヤーを置くことでiOSとAndroidアプリでコードの共有を可能にしていますが、このwebviewレイヤーはChromeやSafariなどのモバイルブラウザ上でも動作します。
    この仕組みを利用して一度コードを書けばiOS, Android, ブラウザ3つで動作するアプリを開発することが可能になりました。
    この様な仕組みは10年前にはなかったためJobsが2007年にあの発言
    をした時はまだ技術的にはできない部分も多かったのです。

やっぱりJobsは10年前に今の状況が見えていたのかな。

これから全部変わるよ。