您現在的位置是:首頁 > 藝術

如何快速簡單開發跨平臺桌面應用程式(適配麒麟系統+armv8)

由 HelloCoder 發表于 藝術2022-05-23
簡介至於最後一種方案cef,這個是基於google的開源瀏覽器核心專案cef,業務端語言可以是python、java、c#、go語言等,介面互動直接用html+js方案,實現了開發CS程式的前後端分離,前端呼叫業務端使用jsbridge方式,

java怎麼複製檔案到磁碟中字元流

因公司有國產化(主要相容麒麟作業系統+armV8架構的處理器)的專案的需求,為桌面應用程式,根據公司資源情況,在技術層面進行了一些選型調研。

一般來說,開發語言本身都是有跨平臺能力的,比如java(jvm),c#(。net core),python(python直譯器),c++等等,所以要調研選型的方向主要是gui的跨平臺能力。

如何快速簡單開發跨平臺桌面應用程式(適配麒麟系統+armv8)

如上所示:

如果對效能沒什麼要求,而且要介面絢麗,能載入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庫。

如何快速簡單開發跨平臺桌面應用程式(適配麒麟系統+armv8)

圖1 Eto Demo示例

Windows下Eto+C#開發環境的搭建:

1。安裝GTK3。

https://www。gtk。org/docs/installations/windows/,我這裡使用了 MSYS2方式 安裝,簡單快速;

2。vs2019 安裝拓展 。下載擴充套件外掛,下載地址:https://marketplace。visualstudio。com/items?itemName=CurtisWensley。EtoFormsVisualStudioAddin,下載完成後雙擊安裝即可;

3。 安裝完成後重啟vs2019;

4。建立專案,選擇Eto。Forms。Application,下一步建立專案,如下圖所示。

如何快速簡單開發跨平臺桌面應用程式(適配麒麟系統+armv8)

圖2

如何快速簡單開發跨平臺桌面應用程式(適配麒麟系統+armv8)

圖3

如上面所說,介面展示有三種實現方式:json,code,xaml,這裡我選擇的是code方式,主要是為了儘量保持與開發winform程式一致的程式碼結構和體驗,更容易上手。

如何快速簡單開發跨平臺桌面應用程式(適配麒麟系統+armv8)

圖4 Eto程式碼結構

如圖4所示,是不是感覺很熟悉,執行/釋出程式,程式執行結果如下圖所示。

如何快速簡單開發跨平臺桌面應用程式(適配麒麟系統+armv8)

圖5

在麒麟系統+arm處理器上執行,程式釋出的時候,目標執行時選擇對應的平臺,點選“確定”,“釋出”即可,等待發布成功。

如何快速簡單開發跨平臺桌面應用程式(適配麒麟系統+armv8)

圖5 程式釋出

如何快速簡單開發跨平臺桌面應用程式(適配麒麟系統+armv8)

參考:https://www。jianshu。com/p/8726518afbe3

推薦文章