日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

如何快速簡(jiǎn)單開(kāi)發(fā)跨平臺(tái)桌面應(yīng)用程序(適配麒麟系統(tǒng)+armv8)(跨平臺(tái)桌面開(kāi)發(fā)用什么語(yǔ)言)

因公司有國(guó)產(chǎn)化(主要兼容麒麟操作系統(tǒng) armV8架構(gòu)的處理器)的項(xiàng)目的需求,為桌面應(yīng)用程序,根據(jù)公司資源情況,在技術(shù)層面進(jìn)行了一些選型調(diào)研。

一般來(lái)說(shuō),開(kāi)發(fā)語(yǔ)言本身都是有跨平臺(tái)能力的,比如javajvm),c#(.net core),python(python解釋器),c 等等,所以要調(diào)研選型的方向主要是gui的跨平臺(tái)能力。

框架

語(yǔ)言

界面語(yǔ)言

性能

開(kāi)發(fā)成本

文檔

Qt

C ,python等

Qml => xml

優(yōu)

Eto

C#

1. xaml => xml
2. Code => C#
3. json => Json

一般

一般

Electron

nodejs

vue,html

較差

一般

較多

Cef

java,python等

html,vue,js等

優(yōu)

較高

較少

如上所示:

如果對(duì)性能沒(méi)什么要求,而且要界面絢麗,能加載html,與底層交互少,那么electron為最佳選擇,而且electron開(kāi)發(fā)簡(jiǎn)單,上手快;

如果單純要求性能,那就是c 和qt了;

如果對(duì)性能要求不是很高,而且又要兼顧成本,還是建議eto c#。雖然eto的資料不是很多,但有官方demo和基于eto的一些開(kāi)源項(xiàng)目,自己跑一下,學(xué)習(xí)一下發(fā)現(xiàn)還是很簡(jiǎn)單的,業(yè)務(wù)邏輯使用c#,快速開(kāi)發(fā)也不會(huì)有什么坑;

至于最后一種方案cef,這個(gè)是基于google的開(kāi)源瀏覽器內(nèi)核項(xiàng)目cef,業(yè)務(wù)端語(yǔ)言可以是python、java、c#、go語(yǔ)言等,界面交互直接用html js方案,實(shí)現(xiàn)了開(kāi)發(fā)C/S程序的前后端分離,前端調(diào)用業(yè)務(wù)端使用jsbridge方式,業(yè)務(wù)端渲染界面使用websocket,保證實(shí)時(shí)高效。

根據(jù)公司資源情況,我選擇了c# eto技術(shù)方案。

eto的github地址:https://github.com/picoe/Eto,學(xué)習(xí)一下demo部分足夠上手開(kāi)發(fā)了。

根據(jù)官方描述:此框架(Eto)可用于使用本地工具包(native toolkit)和簡(jiǎn)單的API構(gòu)建跨多個(gè)平臺(tái)運(yùn)行的應(yīng)用程序,說(shuō)白了就是eto支持多種GUI渲染。基于此,我選用gtk作為gui庫(kù)。

如何快速簡(jiǎn)單開(kāi)發(fā)跨平臺(tái)桌面應(yīng)用程序(適配麒麟系統(tǒng)+armv8)(跨平臺(tái)桌面開(kāi)發(fā)用什么語(yǔ)言)

圖1 Eto Demo示例

Windows下Eto C#開(kāi)發(fā)環(huán)境的搭建:

1.安裝GTK3。https://www.gtk.org/docs/installations/windows/,我這里使用了 MSYS2方式 安裝,簡(jiǎn)單快速;

  • 2.vs2019 安裝拓展 。下載擴(kuò)展插件,下載地址:https://marketplace.visualstudio.com/items?itemName=CurtisWensley.EtoFormsVisualStudioAddin,下載完成后雙擊安裝即可;
  • 3. 安裝完成后重啟vs2019;
  • 4.創(chuàng)建項(xiàng)目,選擇Eto.Forms.Application,下一步創(chuàng)建項(xiàng)目,如下圖所示。
  • 如何快速簡(jiǎn)單開(kāi)發(fā)跨平臺(tái)桌面應(yīng)用程序(適配麒麟系統(tǒng)+armv8)(跨平臺(tái)桌面開(kāi)發(fā)用什么語(yǔ)言)

    圖2

  • 如何快速簡(jiǎn)單開(kāi)發(fā)跨平臺(tái)桌面應(yīng)用程序(適配麒麟系統(tǒng)+armv8)(跨平臺(tái)桌面開(kāi)發(fā)用什么語(yǔ)言)

    圖3

  • 如上面所說(shuō),界面展示有三種實(shí)現(xiàn)方式:json,code,xaml,這里我選擇的是code方式,主要是為了盡量保持與開(kāi)發(fā)winform程序一致的代碼結(jié)構(gòu)和體驗(yàn),更容易上手。
  • 如何快速簡(jiǎn)單開(kāi)發(fā)跨平臺(tái)桌面應(yīng)用程序(適配麒麟系統(tǒng)+armv8)(跨平臺(tái)桌面開(kāi)發(fā)用什么語(yǔ)言)

    圖4 Eto代碼結(jié)構(gòu)

  • 如圖4所示,是不是感覺(jué)很熟悉,運(yùn)行/發(fā)布程序,程序運(yùn)行結(jié)果如下圖所示。
  • 如何快速簡(jiǎn)單開(kāi)發(fā)跨平臺(tái)桌面應(yīng)用程序(適配麒麟系統(tǒng)+armv8)(跨平臺(tái)桌面開(kāi)發(fā)用什么語(yǔ)言)

    圖5

  • 麒麟系統(tǒng) arm處理器上運(yùn)行,程序發(fā)布的時(shí)候,目標(biāo)運(yùn)行時(shí)選擇對(duì)應(yīng)的平臺(tái),點(diǎn)擊“確定”,“發(fā)布”即可,等待發(fā)布成功。
  • 如何快速簡(jiǎn)單開(kāi)發(fā)跨平臺(tái)桌面應(yīng)用程序(適配麒麟系統(tǒng)+armv8)(跨平臺(tái)桌面開(kāi)發(fā)用什么語(yǔ)言)

    圖5 程序發(fā)布

    相關(guān)新聞

    聯(lián)系我們
    聯(lián)系我們
    公眾號(hào)
    公眾號(hào)
    在線咨詢
    分享本頁(yè)
    返回頂部
    远安县| 锡林郭勒盟| 咸丰县| 北海市| 伊川县| 乌鲁木齐市| 老河口市| 青海省| 吉木萨尔县| 靖远县| 枣阳市| 灵武市| 临猗县| 离岛区| 永修县| 隆德县| 哈巴河县| 丹阳市| 永丰县| 儋州市| 望谟县| 沿河| 洮南市| 阜康市| 乡宁县| 乐亭县| 全南县| 南郑县| 乌拉特后旗| 临桂县| 荥经县| 宜兰县| 汶上县| 汕头市| 都江堰市| 正镶白旗| 开原市| 额尔古纳市| 丹巴县| 广元市| 南开区|