Electron - Build cross platform desktop apps with web technologies
(electron.atom.io)
Electron 是新的,我只有用過 NW.js,這兩者都是靠 nodejs runtime + chromium browser 來做 desktop apps。當時我的實作還更複雜,是純用 dart 來寫 app,呼叫 nodejs/NW.js 的部份也是靠 dart 呼叫。
用 NW.js 開發桌機的 app 沒有遇到什麼大問題,就有一些 API 不太能用而已 (例如 chromium 裡的 notification 還是太舊)。但我覺得這類解決方案都有共同的毛病:
- 包起來的 app 都要 100MB 以上 (因為 node+chrome binary),即使功能很少。
- 如果你的用戶要升級新版,他們又要下載一次整個 binary,而不是下載修改到的 js 而已
- 包各個平台的安裝程式還是很多毛病,一下子 windows icon 出不來,一下子 mac 路徑錯了...etc
- 最後,最難處理的就是用戶升級的處理。用戶收到更新通知,然後在背後下載,下載完成後程式要 restart。restart 在 mac/windows 上真的超難搞的,(你要先放在別的目錄,暫時新舊共存...etc) 然後又常失敗,快吐血。
最後一個缺點跟 Electron 沒關啦,只是我已經習慣 web (browser) /mobile (google play) 這種爽爽的 app distribution 了。突然去搞 desktop app 的 distribution 就覺得回到蠻荒時代一樣...
可以試試看adobe air.........(逃)
是有聽說haxe...不過這個我就沒碰過了...
kaif
積分 0
還有一個東西,叫HTA xd
Kcars
積分 0
啊...這麼說來還有Microsoft Silverlight..........
記得以前還會覺得是 adobe flex 跟 JavaFX 和 Microsoft Silverlight這三個互相競爭 :/