SafariのWebアプリモードとは|Macでサイト専用の窓を持つ判断基準
SafariのWebアプリモードは、開いているWebページをそのままmacOSのアプリとして保存し、Dockのアイコンから独立した窓で開けるようにする機能です。タブが30枚並んでいて、そのうち本当に毎日使うのは3つだけ、という状態を抜けるための最短の道でもあります。ただし、作った直後にログイン画面が出て戸惑う人が多く、その挙動を知らないまま消してしまう例も少なくありません。何がどう変わるのかを、先に整理しておきます。
この機能が属している系譜
ひとつのサイトだけを表示する専用の窓、という発想には古い呼び名があります。サイト固有ブラウザ、英語ではsite-specific browserと呼ばれ、2005年末のWindows向けのBubbles、2007年のMozilla Prism、同年のmacOS向けのFluid、2008年にChromeへ加わったアプリケーションショートカットの作成、という順で作り直されてきました。Appleがこれを標準の機能として取り込んだのがmacOS Sonomaです。
この系譜が10年ごとに蘇るのは、ブラウザが「何でも開ける」方向に育つからです。ブラウザは訪問するための道具として設計されています。一方で、チャットやカレンダーや業務の管理画面は、訪問するのではなく住み着く対象です。この2つを同じ窓に同居させた結果が、目的のタブを探せないMacです。専用の窓は、機能を足すのではなく引くことで、この問題を解きます。アドレスバー、タブバー、まったく別のページを指している戻るボタン、そして「気付いたら別のサイトを表示している」という可能性が消えます。
使える条件と、作ったものの行き先
必要なのはmacOS Sonoma 14以降です。手順そのものは短く、目的のページをSafariで開いて、メニューバーの「ファイル」から「Dockに追加」を選ぶか、ツールバーの共有ボタンから同じ項目を選び、名前を入れて「追加」を押すだけです。
見落とされやすいのは保存先です。
Webアプリがホームフォルダの「アプリケーション」フォルダに保存され、Dockに追加されます。 出典: support.apple.com
ディスク直下のアプリケーションフォルダではなく、ホームフォルダの中のアプリケーションフォルダです。Finderの「移動」から「ホーム」を選べば辿り着けます。作ったものを消したいときや、別のMacに同じ構成を作りたいときに、探す場所を間違えて「作られていない」と勘違いする原因がここにあります。
作ったあとの調整は、アプリを開いてメニューバーのアプリ名から設定を開くと行えます。変更できるのはアプリケーション名、アプリケーションURL、アイコン、そしてナビゲーションコントロールの表示です。ナビゲーションコントロールを表示にすると、戻るボタン、進むボタン、アプリ名、共有ボタン、導入済みのSafari機能拡張に関わるボタンがツールバーに並びます。タイトルバーにサイト側の色を反映させるかどうかも選べます。プライバシーの欄ではそのサイトのCookieやキャッシュを消せて、機能拡張の欄ではSafari機能拡張をこのアプリだけ有効または無効にできます。
URLを後から書き換えられる点は、地味ですが効きます。社内の道具が別のサブドメインへ移ったときも、目的のページを開いた状態で「現在開いているページを指定」を押せば追随できます。作り直しになる経路と比べたときの差はここに出ます。
ログインが引き継がれない理由
作ったアプリを最初に開くと、Safariでログイン済みのサイトでもログイン画面が出ます。仕様です。
閲覧履歴、Cookie、Webサイトデータ、設定情報はSafariと共有されません。 出典: support.apple.com
最初は不便に見えますが、これがこの経路を選ぶ最大の理由になります。ログインが分かれているということは、同じサービスの2つ目のアカウントを、1つ目と同時に開いたままにできるということです。仕事用と個人用を1つのブラウザで往復していた人は、プロファイルの切り替えという作業そのものが消えます。2つのアプリを作り、それぞれに別のアカウントでログインするだけです。
通知も同じ考え方で動きます。macOSから見れば別のアプリなので、通知の許可はSafariではなくWebアプリの中で出し直す必要があります。求めに応じて許可を押すと、そのサイトの通知がロック画面や通知センターに表示されるようになり、未読の件数はDockのアイコンに赤いバッジとして出ます。逆に言えば、許可を出さないまま「通知が来ない」と判断してしまう例がここに集中します。
3つの経路を並べて比べる
| SafariのWebアプリ | Chromeでアプリとしてインストール | 専用の道具 | |
|---|---|---|---|
| 必要なもの | macOS Sonoma 14以降 | 現行のChrome | 別途の導入 |
| エンジン | システムのWebKit | Chromium | 道具による |
| ログイン | Safariと分離 | インストールしたプロファイルと共有 | たいていアプリごとに独立 |
| 同じサービスの2アカウント | 使える | プロファイルに従うため不可 | 使える |
| アイコンの変更 | 設定から差し替え可能 | サイト側のものが使われる | たいてい可能 |
| 拡張機能 | Safari機能拡張をアプリ単位で | プロファイルのChrome拡張 | 道具による |
| 後からURLを変更 | 設定から可能 | 作り直し | 道具による |
| 費用 | 無料 | 無料 | 無料の試用か有料 |
多くの場合はこの表で決着します。以下は、表で決まらない場面の話です。
Webアプリモードで詰まりやすい3点
1つ目は、窓の見た目をこちらで決められないことです。この経路で作ったアプリは、サイト側が置いているマニフェストという設定ファイルを読み、名前もアイコンも、窓に操作部品をどれだけ出すかも、そこに書かれた値に従います。WebKitの解説でも、マニフェストを用意すれば表示モードや名前を指定できると案内されています。指定しているのがサイト側だ、ということでもあります。実例を挙げると、YouTube Musicのマニフェストは表示モードにminimal-uiを指定しています。最小限の操作部品を残すという意味の値なので、Dockに追加しても窓の上に細い操作バーが残ります。何も無い一枚板の画面を思い描いていた人には失敗に見えますが、こちらの設定では変えられません。
2つ目は認証の途中で止まる場合です。ログインが別のドメインを経由する仕組みだと、アドレスバーの無い窓の中で行き先を見失うことがあります。社内向けの認証を通すアプリでは、ナビゲーションコントロールを表示したままにしておくと、この状態から自力で戻れます。
3つ目は拡張機能の前提です。この経路で使えるのはSafari機能拡張で、しかもアプリごとに有効か無効かを決める形になります。Chrome拡張に業務が乗っている場合は、そのサイトだけChromeの経路で作るほうが現実的です。3つの経路は排他ではないので、サイトごとに使い分けて構いません。
アプリになったことでMacの側から増えるもの
タブバーやアドレスバーが消えることは、この機能の半分でしかありません。もう半分は、macOSがアプリに対してだけ用意している扱いを受けられるようになることです。
独立したアプリはCommand+Tabの一覧に自分の枠を持ちます。ブラウザが起動していなくても、そのサイトへ2打鍵で戻れるということです。Mission Controlでも、見分けの付かないブラウザの窓が9枚並ぶ中の1枚ではなく、名前で表示されます。Dockのアイコンを副ボタンでクリックしてオプションを開けば、特定のデスクトップに固定できるので、チャットの窓が毎回同じ場所に出るようになります。ログイン項目に加えておけば、朝の最初の操作より前に窓が開いています。そして通知一覧に単独の項目として並ぶため、集中モードでそのアプリだけを通し、ブラウザ全体は黙らせるという設定ができます。
起点のURLの指定も、効果の割に軽視されがちです。毎朝サイトの入口ページが開くアプリは、目的の画面まで2回クリックする手間が残るので、1週間ほどで押されなくなります。実際に使う画面を開いた状態で「現在開いているページを指定」を押しておけば、その手間は消えます。削除されるアプリの理由の多くは道具の性能ではなく、この一手間です。
新しいMacへ移すときに効いてくること
この方式で作ったアプリは、その1台の中にしか存在しません。アカウントで同期されるものではなく、移行アシスタントを通しても、アプリ本体と分離されたログインの情報は別々の扱いになります。Macを2回設定した経験のある人なら結末は想像が付きます。2台目には7個のうち3個だけがあり、しかも作った時期が違うので名前も統一されていません。
対処は簡単で、作ったものを「集まり」ではなく「一覧」として扱うことです。アプリ名、起点のURL、アイコンの取得元を1行ずつ書いた覚え書きを1つ持っておく。それだけで、思い出しながらの1時間が、数分の作り直しに変わります。
この一覧は、道具を比べるときの物差しにもなります。機能の箇条書きは使う前に良し悪しを判断しづらいのに対し、作り直しの費用は測れます。名前とURLを渡せばすぐ作れる経路なら、乗り換えの費用はほぼゼロです。1本あたり20分の設定が必要な経路は、その時点で依存先になっています。導入が安い道具ではなく、離れるのが安い道具を選ぶ。値上げでも、開発の停止でも、機種変更でも、判断の基準は変わりません。
公式アプリとの引き算で候補を決める
作るほど良いわけではありません。アイコンが10個並べば、Dockはタブの列と同じくらい読みにくくなります。絞り込みの物差しは、自分の使い方の中ではなく、サービス側に置くのが早いです。公式のMac用アプリを先に調べ、それで足りているものを候補から引く。残ったものだけを作ります。
公式のMac用アプリが無いサービス
引き算のあとに真っ先に残るのがここです。App Storeの掲載を開いて、互換性の欄にMacの項目があるかを見れば数秒で分かります。X(旧Twitter)の掲載にはiPhone、iPad、iPod touch、Apple Vision、Apple TVは並んでいますが、Macがありません。Notionのメモとタスクのアプリも、載っているのはiPhone、iPad、Apple Visionだけです。この種のサービスのMacでの居場所はブラウザの中しかなく、Dockに追加したアプリがそのまま代役になります。
公式アプリはあるが、そのMacでは動かないサービス
公式アプリには動作条件が付きます。App Storeの掲載を見ると、SlackはmacOS 13.0以降、Trelloは12.0以降、WhatsAppは12.1以降と書かれています。パソコン版のGoogleドライブも、サポートを受けるにはmacOS 13以降への更新が要ると案内されています。手元のMacがその下限を割っていれば、公式アプリは最初から選べません。
ただし、この経路にも下限があります。「Dockに追加」はmacOS Sonoma 14以降の機能で、Chromeの動作条件もmacOS 13 Ventura以降です。macOS 12で止まっているMacでは、公式アプリのほうは動くのに、包む側の経路が先に条件を割る、という逆転が起きます。WhatsAppがちょうどその位置にあります。古い機械の延命が目的なら、この機能は当てになりません。
公式アプリはあるが、Webのほうを使いたいサービス
2つ目のアカウントを同時に開きたい場合と、業務の環境を個人のログインと混ぜたくない場合です。公式アプリが1つのアカウントしか抱えられない設計なら、2つ目をこの経路で持つほうが手間が少なくなります。公式アプリと並べて置いても、互いのログインは干渉しません。
引き算のあとに残るのは、たいてい数個です。10を超えたなら、まだ毎日は開かないサイトが混じっています。
一覧ページから読み取れること
標準の経路で足りない部分が出てきたときに、専用の道具を見る順番があります。先に見ると判断が速いのは、機能の箇条書きよりも雛形の数と偏りです。対応サービス一覧のようなページには300以上のプリセットからすぐ作れることが掲げられており、その並びを眺めると、その道具が想定している使い方が見えます。チャットとメールに寄った一覧なら、社内の管理画面を包む用途は想定の外かもしれません。
設定項目の細かさはできることで確認でき、実際にどれだけ手を動かすのかは使い方ガイドを見れば見当が付きます。費用の形、つまり買い切りか継続課金か、対応するmacOSの下限はどこかは料金で先に確かめておくと、あとから乗り換える手間が減ります。判断が割れやすい点はよくある質問にまとまっています。
そして、この分野には開発が止まった道具が何層にも積み重なっています。解説記事によく登場するコマンドラインの道具Nativefierは、GitHubのリポジトリが2023年9月29日に凍結され、読み取り専用になりました。導入前に確かめるべきなのは、最後の更新がいつかということ以上に、その道具が止まったときに全部を作り直すのに何分かかるかです。数分で作り直せる構成なら、標準の経路と併用しても損失はほとんど出ません。
よくある質問
SafariのWebアプリモードはどのmacOSから使えますか?
macOS Sonoma 14以降で使えます。それより前のバージョンではメニューに「Dockに追加」の項目が出ないため、Chromeでアプリとしてインストールする経路か、専用の道具を使うことになります。使えるかどうかは、Safariでページを開いてファイルメニューを見れば1秒で分かります。
作ったWebアプリを消すにはどうすればよいですか?
ホームフォルダの中の「アプリケーション」フォルダを開き、該当のアプリをゴミ箱に入れます。ディスク直下のアプリケーションフォルダではないので、見つからないときは保存先を間違えている可能性が高いです。Dockからアイコンを外しただけではアプリ本体は残ります。
同じサイトのアプリを2つ作って別々のアカウントで使えますか?
使えます。Webアプリのログインはアプリごとに分かれているので、同じURLから2つ作り、それぞれ別のアカウントでログインすれば、2つの窓を同時に開いたままにできます。名前とアイコンを変えておくと、Dockでもタスク切り替えでも取り違えません。
表示が崩れる場合はどうすればよいですか?
この経路の表示はSafariと同じエンジンで描かれるため、Safariで崩れるサイトはWebアプリでも同じように崩れます。まずSafariで同じページを開いて確認し、そこでも崩れるならChromiumを使う経路で作り直すほうが早い解決になります。サイト側がブラウザによって別の画面を返している場合もあります。