您現在的位置是:首頁 > 藝術
如何快速簡單開發跨平臺桌面應用程式(適配麒麟系統+armv8)
java怎麼複製檔案到磁碟中字元流
因公司有國產化(主要相容麒麟作業系統+armV8架構的處理器)的專案的需求,為桌面應用程式,根據公司資源情況,在技術層面進行了一些選型調研。
一般來說,開發語言本身都是有跨平臺能力的,比如java(jvm),c#(。net core),python(python直譯器),c++等等,所以要調研選型的方向主要是gui的跨平臺能力。
如上所示:
如果對效能沒什麼要求,而且要介面絢麗,能載入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。vs2019 安裝拓展 。下載擴充套件外掛,下載地址:https://marketplace。visualstudio。com/items?itemName=CurtisWensley。EtoFormsVisualStudioAddin,下載完成後雙擊安裝即可;
3。 安裝完成後重啟vs2019;
4。建立專案,選擇Eto。Forms。Application,下一步建立專案,如下圖所示。
圖2
圖3
如上面所說,介面展示有三種實現方式:json,code,xaml,這裡我選擇的是code方式,主要是為了儘量保持與開發winform程式一致的程式碼結構和體驗,更容易上手。
圖4 Eto程式碼結構
如圖4所示,是不是感覺很熟悉,執行/釋出程式,程式執行結果如下圖所示。
圖5
在麒麟系統+arm處理器上執行,程式釋出的時候,目標執行時選擇對應的平臺,點選“確定”,“釋出”即可,等待發布成功。
圖5 程式釋出
參考:https://www。jianshu。com/p/8726518afbe3
推薦文章
- 為什麼酒店可以一晚幾千塊?“不一樣”的3項服務,花錢值
回來看到自己沒喝完的咖啡也會被蓋上紙蓋,你出門不便整理到處亂飛的衣服也會幫你整齊地碼在沙發上,瞬間就讓人覺得無比溫暖,童話裡的田螺姑娘也不過如此吧...
- 成都最豪橫的蒼蠅館子,馬路當廚房,吃飯用8號喇叭吼,客人爆滿
蒼蠅館子,這名字聽起來似乎不太雅緻,我初次聽到的時候,也以為這些地方肯定是蒼蠅蚊子滿天飛,就連吃的食物肯定也是不乾不淨的,但是後來才瞭解到,蒼蠅館子其實是對路邊小店的通俗叫法,這些館子一般都很接地氣,價格也不貴,雖然環境差點,但是味道大部分...
- 游泳世錦賽:張雨霏200米蝶泳摘銅 錯過“大滿貫”
新華社布達佩斯6月22日電(記者劉暘、陳浩)22日晚,國際泳聯第19屆世界游泳錦標賽女子200米蝶泳決賽中,中國“蝶後”張雨霏摘得銅牌,與賽前“金牌大滿貫”的目標擦肩而過...