「アプリ版は速い」は過去の常識?ウェブア
プリとネイティブアプリの境界が消えている

普段、Notionを使っていると、デスクトップアプリ版のダウンロードを勧める表示がありました。
これは、インストールした方がよいのでしょうか?
何かよい点はありますか?

結論から言うと、Notionのデスクトップアプリは「あると便利」程度で、必須ではありません。
というのも、現時点では、Notionのデスクトップアプリは、専用ブラウザの中でウェブ版を表示しているだけなので、機能的にはブラウザ版とほぼ同じだからです。

わかりやすいメリットは、タスクバーやデスクトップなどのアイコンから直接起動できることや、ブラウザから独立したウィンドウで動作することぐらいです。

「アプリ版の方が速くて高機能」と期待しがちですが、実際はケース・バイ・ケースです。
すでにChromeなどのブラウザを開いているときは、新規タブでアクセスした方が速いこともあります。

これって、従来の「ネイティブアプリは速くて、ウェブアプリは遅い」という常識と矛盾してますよね。
そこで、改めてウェブアプリとネイティブアプリの違いを整理してみましょう。

関連記事

1. 従来のネイティブアプリの常識

昔のパソコンでは、ソフトウェアの世界は明確に2つに分かれていました。

  • ネイティブアプリは、パソコンにインストールして使うもの。
    WordやExcel、Photoshopなどがこれです。
    データはパソコンの中に保存され、インターネットがなくても動く。
    起動は速いけれど、インストールやアップデートによる管理が必要です。
  • ウェブサイトは、ブラウザで見るもの。
    Googleで検索したり、ニュースを読んだり。
    常に最新版が表示されるけれど、インターネット接続が必須で、できることも限られていました。

1.1. スマホ時代の到来とクラウドサービスの台頭

状況が変わったのは、スマートフォンが普及してからです。

スマホでは、アプリをApp StoreやGoogle Playからダウンロードして使うのが当たり前になりました。
でも同時に、多くのサービスがクラウド化していきました。
写真はGoogle PhotosやiCloudに、文書はGoogle DriveやOneDriveに保存される。

サービスやデータがクラウド上に保存されるようになったのは、

  • 初期のスマートフォンの処理能力や保存容量が貧弱であったこと、
  • インターネット常時接続が一般的になったこと、
  • そして、1人のユーザーがスマートフォンやパソコン、タブレットと複数のデバイスを日常的に使うようになったこと

これらが要因です。

つまり、パソコンもスマホの役割は「端末」。
データは中央のサーバーにあって、どのデバイスからでも同じデータにアクセスする。
このような使い方が広がってきたんです。

2. 境界を曖昧にするテクノロジー

でも、ここで疑問が湧きます。
もしデータがクラウドにあるなら、「アプリ版」と「ブラウザで開くウェブ版」の違いって、何なんでしょう?

実は、そこには境界がなくなってきています。

2.1. PWA(Progressive Web App)という不思議な存在

スマートフォンでウェブサイトにアクセスすると、その一部はホーム画面に「アプリとしてインストール」できるようになっていることがあります。
アプリストアではなく、ブラウザでアクセスしたサイトから直接インストールされる簡易版のアプリを、「PWA」といいます1

例えば、XやInstagramには、PWA版も用意されています。
ブラウザからホーム画面に追加すると、全画面で開いてプッシュ通知も届く、まるでアプリのように見えます。

これ、ブックマークとどう違うんでしょうか?
実は、見た目と動作が「アプリっぽい」だけで、技術的にはほぼ同じです。
つまり、ブラウザの枠が消えて、独立したウィンドウで開く。
一応、効率化のボタンやロゴなどの共通したデザインのデータやスクリプトは、スマホ内に保存されますが、コンテンツ内容そのものはウェブサイトを表示しています2

2.2. Electronという「なんちゃってネイティブアプリ」

パソコン用のデスクトップアプリにも似たような仕組みがあります。
それが、Electronアプリです。

Visual Studio Code、Slack、Discord、Figmaなど、いくつかの「ネイティブアプリ」は、中身を見ると、実はウェブ技術(HTML、CSS、JavaScript)で作られているんです3

Electronアプリは、簡単に言えば「Chromeブラウザを内蔵したアプリ」です。

  • 内蔵ブラウザを単なる表示機能として使って、ローカル環境でエディタとして動作するVisual Studio Codeのようなアプリもあります。
  • しかし、アプリを起動すると、内蔵されたブラウザが起動して、その中でウェブページを表示している。
    つまり、「アプリをダウンロード」と言いながら、実態はウェブビューアーをインストールしているだけのアプリも少なくありません。

とくに、Slack、Discord、Figmaのようなウェブサービス上にデータを一元管理するものは、そういう傾向があります。
アプリ版に最適化された機能が追加されていることもありますが、本質的にはブラウザでウェブ版を開くのと同じことをしているんです。

反対に、Electronアプリは、Chromiumブラウザを内包する仕組みなので、単純なプログラムほどかえってストレージやメモリを多く消費する傾向もあります4。これはElectronの明らかなウィークポイントで、アプリをインストールした際のサイズが余裕で200MBを超えてきます5

3. アプリ版 vs ブラウザ版

たとえば、NotionやSlackのデスクトップアプリは、Electronで作られていて、専用ブラウザでクラウド上にあるデータを開いているだけです。
機能面はほぼ同じなのです。

Zoomは、アプリ版とウェブ版で機能に差があります。
基本的なビデオ通話だけなら、ウェブ版でも十分使えますが、
画面共有の品質や、バーチャル背景の機能は、アプリ版の方が充実しています。

これは、Zoomがネイティブの機能を活用しているからです。

4. 簡易的なアプリの意義

なぜ多くのサービスが、ウェブ版と大差のないアプリを作るのでしょうか?

答えは、開発コストの削減
つまり、さまざまなデバイスで利用されるアプリを共通で開発・管理するためです。

従来は、Windows版、Mac版、Linux版をそれぞれ別々に作る必要がありました。
3つのプラットフォームがあれば3倍の開発コストがかかる
さらにウェブ版も作るとなると、4つのバージョンを維持することになります。

これが、Electronを使えば、ウェブ版を作るだけで、
それを全てのOS用のデスクトップアプリとして配布できます。
これは、ブラウザは、これらのOSにすでに用意されているので、その機能を転用することで共通のコードでアプリを作れるからです。

スタートアップにとっては、これは大きなメリットです。

  1. まずウェブ版をリリースして市場の反応を見る。
  2. 需要が確認できたら、PWA対応して「アプリ版」として提供する。
  3. さらに需要があれば、本物のネイティブアプリ開発に投資する。

こういう段階的な戦略が可能になったんです。
したがって、急成長したウェブサービスのアプリは、まずは簡易版からスタートして、徐々にネイティブの機能を活用していくことのが一般的です。
Notionのこのパターンです。

4.1. HTML5の進化

もう1つの大きな変化は、ウェブ技術そのものの進化です。

昔のウェブサイトは、文章と画像を表示するだけでした。
画面を切り替えるたびに、ページの読み込みが必要でした。
でも今のHTML5は違います。

  • CanvasWebGLを使えば、ブラウザ上で3Dグラフィックスやゲームが動きます。
    Figmaのように、複雑なデザインツールもウェブで実現できる。
  • WebAssemblyを使えば、C++やRustで書かれたコードをブラウザで実行できます。
    ネイティブアプリに近い性能が出せるんです。
  • Service Workerを使えば、オフラインでも動作するウェブアプリが作れます。
    インターネットが切れても、キャッシュされたデータで作業を続けられる。

例えば、Figmaのウェブ版は、WebAssemblyを使って高速に動作します。
一方、ネイティブアプリでも、起動に数秒かかることもあります。
すでにブラウザが開いている場合、ウェブ版の方が速く開くことがあるのです。

こうした技術の進化によって、「ウェブだからできない」という制約がどんどん減っていきました。

4.2. 現在の状況:連続的なグラデーション

整理すると、現在のアプリは次のような連続的なグラデーションになっています。

  • 単純なウェブサイト
  • ウェブアプリ(HTML5の動的な機能を活用)
  • PWA(ウェブアプリのキャッシュ活用)
  • クロスプラットフォームアプリ(Electronなど)
  • ネイティブ専用アプリ

左に行くほど「アプリっぽく」、右に行くほど「ウェブっぽく」なります。
でも境界は曖昧です。

Visual Studio Codeは左から2番目ですが、実態はウェブ技術で作られています。
InstagramのPWA版は真ん中あたりですが、ユーザーからは「アプリ」に見えます。

昔のような「ネイティブアプリ」と「ウェブサイト」という明確な二分法は、もう存在しないんです。

5. 頻繁に使うサービスはアプリ版

では、私たちユーザーは、アプリ版とウェブ版をどう選べばいいのでしょうか?

月に数回しか使わないサービスなら、ブラウザのブックマークで十分です。
わざわざアプリをインストールして、定期的にアップデートする手間をかける必要はありません。

毎日使うサービスなら、アプリ版をインストールする価値があります。
タスクバーやDockから素早くアクセスできるのは便利です。

5.1. 機能の違いを確認する

また、ZoomやInstagramのように、アプリ版とウェブ版で機能が違うサービスもあります。
必要な機能が使えるかどうか、実際に試してみるのが確実です。

ただし、「アプリ版」が実はElectronだったりPWAだったりすると、機能面に違いがないことも少なくありません。
過度な期待をしなくて済みます。

5.2. テクノロジーは透明になる

テクノロジーは透明になります。

ユーザーにとっては、ただ「使いやすいかどうか」「必要な機能があるかどうか」が重要です。
それがネイティブアプリなのか、Electronアプリなのか、PWAなのか、ウェブアプリなのか、気にする必要がなくなってきています。

技術の進化によって、私たちの選択肢は増えました。
アプリ版とウェブ版の違いは、かつてほど明確ではありません。
多くの「アプリ」は、実はウェブ技術で作られています。
「ネイティブアプリは速い」という常識も、もう絶対ではありません。

それが、自分の用途に合っているか。
試してみて、実際の使い心地を基準に判断するのが大切です。

  1. PWAは、ブラウザから直接インストールでき、ホーム画面にアイコンが追加されます。インストール後は、プッシュ通知やオフライン動作など、ネイティブアプリに近い機能を利用できます。 – プログレッシブウェブアプリ (PWA) | MDN
  2. PWAは単なるブックマークと異なるのは、ウェブアプリマニフェストとService Workerを使用することで、独立したウィンドウ表示、オフライン動作、プッシュ通知などの機能を実現することです。 – PWA をインストール可能にするには – MDN
  3. Visual Studio Code、Slack、Discord、Notion、Figmaなど、多くの主要デスクトップアプリがElectronで開発されています。Electronの公式サイトでは、これらのアプリが採用事例として紹介されています。 – Why Electron | Electron
  4. ElectronアプリはChromiumを内包するため、メモリ消費が大きくなる傾向があります。Microsoft Teamsの公式ドキュメントでは、Electronで開発されたTeamsデスクトップアプリとWeb版が同様のメモリ使用プロファイルを持つことが説明されています。 – Microsoft Teams のメモリ使用方法
  5. Electronアプリは、Chromiumを同梱するため配布サイズが100MB以上になることが一般的です。開発者の実体験として、200MBを超えるケースも報告されています。 – Electronでデスクトップアプリを作ってみて – Qiita