管你承不承認,在2020年的時候,golang已經不是小眾語言了,很多的公司和開發者都在開始學習使用golang進行業務開發了。Docker,k8s的出現讓人們知道,原來golang在服務器端是那么的強大。
那么如此強大的golang在客戶端表現如何呢?答案是官方并沒有給出golang語言的gui庫,不過這并不能阻止人們使用golang進行GUI開發的腳步,在golang社區里面有著大量的第三方GUI擴展庫,今天我們就來盤點一下golang社區流行的十大gui擴展庫。
這是一個基于election的擴展庫,意味著你可以使用css,js,html來進行界面的設計和開發。
這是一個基于sciter的綁定,sciter是非常流行的桌面客戶端UI庫,也是使用css,js,html來進行開發的,因此對于熟悉web開發的人上手并不難。
使用HTML, CSS and NW.js.來進行發開發的擴展庫,它也是基于web的UI庫,它是居于Chromium and Node.的.
使用最新版本的gtk3進行綁定,同時它需要 cairo, glib,等依賴進行開發。
作為目前非常流行的圖形庫,qt有著出色的用戶體驗,很多linux桌面系統就是使用qt開發的。
非常小的基于webview的擴展庫,優點是小,缺點也是小。
只是基于windows的擴展庫,對其它操作系統不支持。
基于mac系統,對windows等系統不支持。
材料設計的UI庫,有著驚艷 的外觀,界面很符合現代軟件的風格。
Gi是Go中基于場景圖的2D和3D GUI /圖形界面,它有著豐富的組件,編譯效率非常高,有著強大的布局功能,有著強大的視圖范例。
公司有國產化(主要兼容麒麟操作系統+armV8架構的處理器)的項目的需求,為桌面應用程序,根據公司資源情況,在技術層面進行了一些選型調研。
一般來說,開發語言本身都是有跨平臺能力的,比如java(jvm),c#(.net core),python(python解釋器),c++等等,所以要調研選型的方向主要是gui的跨平臺能力。
框架 | 語言 | 界面語言 | 性能 | 開發成本 | 文檔 |
Qt | C++,python等 | Qml=> xml | 優 | 高 | 多 |
Eto | C# | 1. Xaml=> xml | 一般 | 一般 | 少 |
Electron | nodejs | vue,html等 | 較差 | 一般 | 較多 |
Cef | java,python等 | html,vue,js等 | 優 | 較高 | 較少 |
如上所示:
如果對性能沒什么要求,而且要界面絢麗,能加載html,與底層交互少,那么electron為最佳選擇,而且electron開發簡單,上手快;
如果單純要求性能,那就是c++和qt了;
如果對性能要求不是很高,而且又要兼顧成本,還是建議eto+c#。雖然eto的資料不是很多,但有官方demo和基于eto的一些開源項目,自己跑一下,學習一下發現還是很簡單的,業務邏輯使用c#,快速開發也不會有什么坑;
至于最后一種方案cef,這個是基于google的開源瀏覽器內核項目cef,業務端語言可以是python、java、c#、go語言等,界面交互直接用html+js方案,實現了開發C/S程序的前后端分離,前端調用業務端使用jsbridge方式,業務端渲染界面使用websocket,保證實時高效。
根據公司資源情況,我選擇了c#+eto技術方案。
eto的github地址:https://github.com/picoe/Eto,學習一下demo部分足夠上手開發了。
根據官方描述:此框架(Eto)可用于使用本地工具包(native toolkit)和簡單的API構建跨多個平臺運行的應用程序,說白了就是eto支持多種GUI渲染。基于此,我選用gtk作為gui庫。
圖1 Eto Demo示例
Windows下Eto+C#開發環境的搭建:
1.安裝GTK3。https://www.gtk.org/docs/installations/windows/,我這里使用了 MSYS2方式 安裝,簡單快速;
圖2
圖3
圖4 Eto代碼結構
圖5
圖5 程序發布
host 是目前最好的開源 CMS 之一。它主要聚焦于創建輕量級、快速加載、界面美觀的博客。
-- Ankush Das(作者)
Ghost 是一個自由開源的內容管理系統(CMS)。如果你還不了解 CMS,那我在此解釋一下。CMS 是一種軟件,用它可以構建主要專注于創建內容的網站,而無需了解 HTML 和其他與 Web 相關的技術。
事實上,Ghost 是目前 最好的開源 CMS 之一。它主要聚焦于創建輕量級、快速加載、界面美觀的博客。
Ghost 系統有一個現代直觀的編輯器,該編輯器內置 SEO(搜索引擎優化)功能。你也可以用本地桌面(包括 Linux 系統)和移動應用程序。如果你喜歡終端,也可以使用其提供的 CLI(命令行界面)工具。
讓我們看看 Ghost 3.0 帶來了什么新功能。
我通常對開源的 CMS 解決方案很感興趣。因此,在閱讀了官方公告后,我通過在 Digital Ocean 云服務器上安裝新的 Ghost 實例來進一步嘗試它。
與以前的版本相比,Ghost 3.0 在功能和用戶界面上的改進給我留下了深刻的印象。
在此,我將列出一些值得一提的關鍵點。
除了編輯器的所有細微更改之外,3.0 版本現在支持通過輸入 URL 添加漂亮的書簽卡。
如果你使用過 WordPress(你可能已經注意到,WordPress 需要添加一個插件才能添加類似的卡片),所以該功能絕對是 Ghost 3.0 系統的一個最大改進。
我沒有專門對此進行測試,但它更新了 WordPress 的遷移插件,可以讓你輕松地將帖子(帶有圖片)克隆到 Ghost CMS。
基本上,使用該插件,你就能夠創建一個存檔(包含圖片)并將其導入到 Ghost CMS。
為了使用戶體驗更好,Ghost 團隊還更新了圖像庫(現已為響應式),以便在所有設備上舒適地呈現你的圖片集。
此外,帖子和頁面中的圖片也更改為響應式的了。
Ghost Subscription Model
雖然,該功能目前還處于測試階段,但如果你是以此平臺作為維持你業務關系的重要發布平臺,你可以為你的博客添加成員、訂閱選項。
該功能可以確保只有訂閱的成員才能訪問你的博客,你也可以選擇讓未訂閱者也可以訪問。
默認情況下,該版本支持 Stripe 付款網關,幫助你輕松啟用訂閱功能(或使用任何類型的付款的付款方式),而 Ghost 不收取任何額外費用。
你現在可以在 Ghost 3.0 的博客中集成各種流行的應用程序/服務。它可以使很多事情自動化。
引入的默認主題(設計)已得到改進,現在也提供了夜間模式。
你也可以隨時選擇創建自定義主題(如果沒有可用的預置主題)。
除了所有關鍵亮點以外,用于創建帖子/頁面的可視編輯器也得到了改進(具有某些拖放功能)。
我確定還有很多技術方面的更改,如果你對此感興趣,可以在他們的 更改日志 中查看。
要在以 WordPress 為主導的世界中獲得認可并不是一件容易的事。但 Ghost 逐漸形成了它的一個專門的發布者社區。
不僅如此,它的托管服務 Ghost Pro 現在擁有像 NASA、Mozilla 和 DuckDuckGo 這樣的客戶。
在過去的六年中,Ghost 從其 Ghost Pro 客戶那里獲得了 500 萬美元的收入。就從它是致力于開源系統解決方案的非營利組織這一點來講,這確實是一項成就。
這些收入有助于它們保持獨立,避免風險投資家的外部資金投入。Ghost CMS 的托管客戶越多,投入到免費和開源的 CMS 的研發款項就越多。
總體而言,Ghost 3.0 是迄今為止提供的最好的升級版本。這些功能給我留下了深刻的印象。
如果你擁有自己的網站,你會使用什么 CMS?你曾經使用過 Ghost 嗎?你的體驗如何?請在評論部分分享你的想法。
via: https://itsfoss.com/ghost-3-release/
作者: Ankush Das 選題: lujun9972 譯者: Morisun029 校對: wxy
本文由 LCTT 原創編譯, Linux中國 榮譽推出
*請認真填寫需求信息,我們會在24小時內與您取得聯系。