(ㄏ ̄▽ ̄)ㄏ ㄟ( ̄▽ ̄ㄟ)

最近開始在研究 NWJS (前身為 node-webkit )。

會開始研究也是因為想要寫 golang app 的 GUI,於是找來找去找到這個。

說道 golang 的 GUI,我所知道的有

  • shiny
    • golang 開發團隊寫的。算是最陽春的 GUI,但同時也是少數原生地GUI
    • 在不同作業系統,都是利用該系統提供的內建方式來繪製,而不需利用到額外的插件
      • 例如在 windows 中是利用 gdi32.dll 來繪製
    • 缺點就是沒提供按鈕之類的功能,就停止開發了
  • QT + golang
    • 可以在 github 上找到蠻多的 library ,但都要先裝 QT 所以都沒用過
  • Electron + golang
    • 在 github 上有 go-astilectron ,但和上面的 QT 一樣,都要先裝 electron
    • 而且要裝 electron 等於還要再裝 node.js
  • NWJS + golang
    • 在 github 上有 gowd ,一樣要先有 NWJS

之後就選最後的 gowd 來開發了。

shiny 雖然很簡單,但沒有內建的按鈕什麼的實在太不方面,所以略過(不然如果要做遊戲之類,沒有按鈕的東西,shiny還算不錯的選擇)

而我自己本來就會 HTML + CSS + JS,所以後兩者變成優先考慮選項。

基於自己蠻討厭 node.js,而 electron 還要安裝node.js,所以就選 NWJS 了。


說來,GUI最麻煩的就是各種元件的放置了,要學一個新介面也是件很累的事(所以我才懶得學 flex)

選擇 HTML + CSS + JS 真的是聰明的選擇,畢竟其標準(先不考慮 es6甚至更新版)已經成熟,而且只要會開發網頁(尤其這時代,網頁的重要性高到不可計量的地步),就能夠製作GUI了,算是最方便的了。

沒有留言:

張貼留言

小提示:留言時,可以使用粗體(<b>)、斜體(<i>)、超連結(<a href="網址"> </a>)。另外,以「名稱/網址」留言時,網址可以留空的。