這是本文件的舊版!
將網頁製成桌面 app
這就是所謂的「web app」嗎?不確定。
Prism
Firefox(Gecko)核心的解決方案,(2016 的)前幾年已中止。之前還在用 Linux 時有用過。
Fluid
- 核心好像是 Safari(所以這是一個 Mac-only 的解決方案哦)
- 但好像不是最新版 Safari
- 還不錯用
- 但可能因為核心太舊,執行部分網頁時功能會有小小的異常(例如 Gmail 內不能用 ``⇧⏎`` 換行、Facebook 影片無法全螢幕播放)
Chrome App Builder
- 20160804 今天才發現原來 Google Chrome app 早就都是 Mac 桌面 app 了,並且可以用 Chrome App Builder 自製
- 20160804【實驗】做了一個 Google Drive 的 app
Export App
後會變成「未封裝的擴充功能」,可在chrome://extensions
中載入並執行- 也可封裝成 .crx 檔,再拖到 Chrome 中安裝
- 以上兩種方法都會產生 Mac 桌面 app,並且均可在 Chrome 中管理
- 「Kiosk app」好像是給 Chromebox 之類的迷你桌機用的,讓機器只重覆執行一個 app,所以我應該用不太到吧
Electron
- 需要 Node.js,稍嫌麻煩了點
WebDGap
- 20160804 發現還有這個:WebDGap
- 應是以 Node-Webkit 及 Chromium 為基底
- 試用
- 20160804 但好奇怪,要上傳 icon 時卡住了
- 下載桌面版試試,因為後來發現桌面版有 300 多 MB 大,似乎不只是網頁版的打包 → 執行結果一樣
- → 反映:
Not working on my machine · Issue #1 · mikethedj4/WebDGap← 20160808 今天再試一次 → 作者修好了!耶比!
- 20160808 → 可以順利上傳 icon,然後選 32bit/64bit → 選平台 → 下載成品
- 是個 zip 檔,打開後尚非 .app 格式,看來是要照作者的影片進行必要修改,再看怎樣打包成 .app 吧
- 修改 app 圖示等資源 ☞ 作者教學影片
- 編輯
<app 資料夾>/data/hello.app/Contents/info.plist
CFBundleDisplayName
、CFBundleName
改為應用程式名稱- 存檔
- 出來以後,把 <app 資料夾>/data/hello.app 檔名改為應用程式名稱
- 改圖示:
- 製作好 Mac OS X 的 .icns 格式圖示檔,並改檔名為 nw.icns
- 以上述 nw.icns 取代
<app 資料夾>/data/hello.app/Contents/Resources/
中原有的 nw.icns
- 替代方案:我把 <app 資料夾>/data/XXX.app 複製一份,拉到 /Applications 去,用 LiteIcon 改好圖示後,再拉回來
- ↑都改好了,但整個資料夾有辦法進一步打包成 app 嗎?→ 發問:[Q] Howto: make Mac .app from the downloaded folder? · Issue #2 · mikethedj4/WebDGap → 得解如下:
- 用 Automator 製作一個 app(要與 WebDGap 做的 app 同名!),只要放一個執行 shell script 的工序,並把
run.sh
的那行程式碼貼入,然後儲存 app - 打開 app 的套件內容,把 WebDGap 提供的
/data
整個移到/Contents
裡面 - 這樣就可以執行該 app 了
- 需要的話就修改該 app 的圖示
- 優點
- Node-webkit 及 Chromium 似乎蠻省資源的,以執行 Wikiwand 為例,Firefox 可能需要耗到 100% CPU,而 Node-Webkit 就只要 40~50%
- 缺點
- app 肥大,要 80~90MB cf. Fluid app 一個大概 7MB 多而已
createGcApp
- 20160810 又找到這個!Create application shortcuts in Google Chrome on a Mac,更扯的是還有人幫忙寫好一個簡單的圖形介面:http://mait.vilbiks.com/files/createGcApp.dmg(可直接從這個映像檔中執行),所以只要決定好
- app 名稱
- 網址
- 圖示(好像一定要正方形)
三者齊備,就可以製成一個以 Chrome 為底的 app 了~
- 基本上應是一個獨立的 Chrome profile
- 那可否研究它的 Applescript,改套 Firefox profile?
- 能否運用 Chrome 的桌面通知功能?
其他
-
- 但一樣是用 Safari 為底
討論區