
使用dotnet core的Eto框架 開(kāi)發(fā)跨平臺(tái)GUI應(yīng)用
在當(dāng)前的市面下。開(kāi)發(fā)一套跨平臺(tái)(win、mac、linux)GUI的界面是桌面程序的一般目標(biāo)
市面上的解決方案很多,從語(yǔ)言的角度來(lái)區(qū)分的話有以下幾種
語(yǔ)言 | 框架 | 界面語(yǔ)言 | 界面UI好看度 | 開(kāi)發(fā)成本 | 維護(hù)成本 | 性能 | 文檔 | 調(diào)試 | 打包大小 |
---|---|---|---|---|---|---|---|---|---|
C++ | Qt | Qml => xml | 普通 | C++,高 | 較高 | 優(yōu)秀 | 較多 | 一般 | 一般 |
C# | Eto | 1. Xaml => xml 2. Code => C# 3. Json => Json | 原始 | C#,一般 | 一般 | 一般 | 少 | 一般 | 一般 |
JS | Electron | React or Vue | 好看 | 前端語(yǔ)言,一般 | 一般 | 較差 | 很多 | 簡(jiǎn)單 | 一般 |
如上:
如果對(duì)性能要求一般,然后又要跨平臺(tái),還要好看(大眾且非專業(yè)pc軟件),那么electron是最優(yōu)解
如果性能又要求,當(dāng)然還是C++
如果只是弄個(gè)工具類PC軟件,C# 也不錯(cuò)(寫(xiě)的舒服)
一個(gè)簡(jiǎn)單的解決方案 —— Eto
看了一下github ——?https://github.com/picoe/Eto
上C#的gui庫(kù),發(fā)現(xiàn)Eto 文檔還行。是mono使用的項(xiàng)目。還行。
一個(gè)Quick Start
Eto支持多種gui的渲染方式,,我這里選擇了GTK
安裝GTK3,https://www.gtk.org/docs/installations/windows/,我是用了 MSYS2 這種方式
vs2019 安裝拓展 ,直接點(diǎn)擊安裝,https://marketplace.visualstudio.com/items?itemName=CurtisWensley.EtoFormsVisualStudioAddin
使用vs2019創(chuàng)建項(xiàng)目(安裝上述擴(kuò)展后重啟vs2019)
在 EtoApp1.Gtk 這個(gè)項(xiàng)目里面 安裝GtkSharp的nuget,https://www.nuget.org/packages/GtkSharp/
安裝好后。直接啟動(dòng)EtoApp1.Gtk 即可:

其實(shí)GTK相當(dāng)于一個(gè)gui的虛擬機(jī),我們的程序都是調(diào)用它來(lái)渲染出程序的界面
打包當(dāng)前EtoApp1.Gtk應(yīng)用及runningtime,這樣其他電腦不用再安裝dotnet環(huán)境 —— 右鍵該項(xiàng)目選擇 發(fā)布,選好發(fā)布的配置:

復(fù)制必要GTK庫(kù)到改程序目錄的根目錄 —— 安裝上文 第一 步的MSYS2的那一堆東西后,一般在C:\Users\Username\AppData\Local\Gtk 這個(gè)目錄下有必要的GTK的dll,全部Copy到publish的根目錄(比較多,先不理會(huì))里面

此時(shí)直接點(diǎn)擊EtoApp1.Gtk.exe是可以運(yùn)行的了

后續(xù)再研究哪些需要?jiǎng)h(TODO)
多個(gè)文件打包成一個(gè)exe —— 實(shí)際使用winrar就可以,弄成一個(gè)自解壓文件即可
當(dāng)然2的解決方案并不是很好。。(TODO)
[超站]友情鏈接:
四季很好,只要有你,文娛排行榜:https://www.yaopaiming.com/
關(guān)注數(shù)據(jù)與安全,洞悉企業(yè)級(jí)服務(wù)市場(chǎng):https://www.ijiandao.com/

隨時(shí)掌握互聯(lián)網(wǎng)精彩
- 1 豐收時(shí)節(jié)感悟總書(shū)記的“三農(nóng)”情懷 7904059
- 2 深圳機(jī)場(chǎng)飛機(jī)被“五花大綁”防臺(tái)風(fēng) 7808158
- 3 疑追風(fēng)觀浪 香港一對(duì)母子被卷入海 7712647
- 4 盤(pán)點(diǎn)新疆的全國(guó)之“最” 7616071
- 5 驢肉價(jià)格上漲 中國(guó)正面臨缺驢問(wèn)題 7519937
- 6 用一條毛巾避免大窗玻璃離家出走 7427771
- 7 護(hù)網(wǎng):社交賬號(hào)不受控制?木馬在作祟 7332351
- 8 鴻蒙智行秋季新品發(fā)布會(huì) 7235372
- 9 “晚1秒就撞 我肯定不慣著他” 7135906
- 10 中國(guó)每年吃掉約70億只白羽肉雞 7048841