個(gè)人搜集資料并總結(jié)了一些跨平臺(tái)開(kāi)發(fā)技術(shù),如有不足歡迎指正。
1.Qt
1.簡(jiǎn)介
QT是一個(gè)跨平臺(tái)的C++圖形用戶界面應(yīng)用程序框架。它為應(yīng)用程序開(kāi)發(fā)者提供建立藝術(shù)級(jí)圖形所需的所有功能。它是完全面向?qū)ο蟮?,容易擴(kuò)展,并且允許真正的組件編程。
2.優(yōu)勢(shì)
- 使用Qt開(kāi)發(fā)的程序可以運(yùn)行在Windows、Linux、MAC、Android、IOS平臺(tái)上,一套代碼即可實(shí)現(xiàn)在多個(gè)系統(tǒng)平臺(tái)上運(yùn)行程序。
- Qt支持圖像渲染和OpenGL,可以支持軟件渲染,也可以支持GPU硬件加速渲染。
- QML提供更簡(jiǎn)單的基于3D渲染引擎高效的寫(xiě)跨平臺(tái)GUI的方式。也就是說(shuō),HTML5支持的各種特性QT幾乎全都支持了,如下圖:
![]()
- QT提供了一系列豐富的功能庫(kù),涵蓋了圖形界面、網(wǎng)絡(luò)通信、數(shù)據(jù)庫(kù)、多媒體、XML處理等多個(gè)領(lǐng)域。
- Qt一共提供了兩個(gè)版本,一個(gè)是用于商業(yè)化的商業(yè)版本,另外一個(gè)是為廣大學(xué)習(xí)者和程序員提供的開(kāi)源版本。這兩個(gè)版本的功能差異很小,開(kāi)發(fā)人員在遵循GPL協(xié)議的前提下完全可以使用開(kāi)源版本來(lái)開(kāi)發(fā)項(xiàng)目。
3.劣勢(shì)
- Qt對(duì)Windows、Linux、Mac平臺(tái)支持很好,但是對(duì)于Android、iOS、UWP等平臺(tái)的支持目前還不是很完美。因?yàn)槭褂肣t來(lái)進(jìn)行手機(jī)應(yīng)用開(kāi)發(fā),制作出來(lái)的成品無(wú)論是界面、系統(tǒng)資源調(diào)用還是穩(wěn)定性,肯定不如使用原生開(kāi)發(fā)環(huán)境開(kāi)發(fā)的要好。因此實(shí)際上還是很少人選擇使用QT去開(kāi)發(fā)Android和IOS應(yīng)用。
- Qt的商業(yè)版權(quán)問(wèn)題。如果公司用 Qt 開(kāi)發(fā)閉源商業(yè)桌面軟件,在 Windows/Mac/Linux上,可以使用動(dòng)態(tài)庫(kù)鏈接方式,遵循 LGPL 協(xié)議,是不用付費(fèi)的,也不用開(kāi)源你的代碼。只需在你的商業(yè)軟件的 about 等一些小角落,說(shuō)明你使用了 Qt,遵循 LGPLV3 協(xié)議即可,你公司就可以開(kāi)發(fā)閉源的商業(yè)軟件。但是,如果使用靜態(tài)庫(kù)鏈接的方式開(kāi)發(fā) Windows/Mac/Linux上的閉源商業(yè)桌面軟件,就要付費(fèi)使用了,付費(fèi)價(jià)格是 一年 3950 美元,三年 8400 美元。
2.NET Core+Vue
1.簡(jiǎn)介
.NET Core是一個(gè)通用的跨平臺(tái)軟件開(kāi)發(fā)框架,它允許開(kāi)發(fā)人員構(gòu)建各種軟件,包括Web,桌面,移動(dòng),云,游戲,物聯(lián)網(wǎng)等。主要特性包括開(kāi)源、跨平臺(tái)、現(xiàn)代、靈活、輕量級(jí)、快速、友好、可共享。
Vue.js 是一個(gè)用于構(gòu)建用戶界面的 JavaScript 框架。
2.優(yōu)點(diǎn)
1.ASP.NET Core可以靈活搭配各種前端框架,比如可以搭配Vue來(lái)實(shí)現(xiàn)前后端分離,可以搭配使用k8s,docker容器這些更令人著迷的新技術(shù)。
2. 使用.NETCore開(kāi)發(fā)基于Web技術(shù)的應(yīng)用程序,可以在WIndows、Linux、Macos、Android上以網(wǎng)頁(yè)的方式運(yùn)行。
3.Flutter
1.簡(jiǎn)介
Flutter是一種用于構(gòu)建用戶界面的工具包,可以創(chuàng)建高度定制化的、響應(yīng)式的移動(dòng)應(yīng)用。它包括了豐富的UI組件庫(kù)、強(qiáng)大的渲染引擎和一套先進(jìn)的開(kāi)發(fā)工具,使開(kāi)發(fā)者能夠快速構(gòu)建現(xiàn)代化的移動(dòng)應(yīng)用。
2.優(yōu)點(diǎn)
1.性能強(qiáng)大、流暢。
2. 支持插件,支持原生系統(tǒng)調(diào)用。
3. 開(kāi)發(fā)者可以使用Dart語(yǔ)言只編寫(xiě)一次代碼,然后將其編譯到多個(gè)平臺(tái)上,包括Windows桌面、Linux桌面、Android和iOS。
3.缺點(diǎn)
1.脫離不開(kāi)原生,開(kāi)發(fā)人員需要具備原生(Android、iOS)基礎(chǔ)開(kāi)發(fā)能力。
2. 原生集成第三方SDK后,兼容性適配很頭疼。
3. 非真正跨平臺(tái),F(xiàn)lutter對(duì)Android和IOS開(kāi)發(fā)友好,對(duì)WIndows開(kāi)發(fā)不友好。Windows平臺(tái)上的Flutter應(yīng)用實(shí)際上只是Win32應(yīng)用。如果想編寫(xiě)特定于平臺(tái)的代碼,就必須使用C++編寫(xiě)代碼。然而,使用C++的NuGet包數(shù)量非常少。如果你想使用特定于平臺(tái)的功能,就需要花費(fèi)大量時(shí)間在Windows上用C++重新實(shí)現(xiàn)這些功能。參考鏈接:Windows版Flutter應(yīng)用開(kāi)發(fā)體驗(yàn)遠(yuǎn)達(dá)不到Android和iOS的水平
4.Maui
1.簡(jiǎn)介
MAUI是微軟最近2年新推出的一種跨平臺(tái)應(yīng)用程序的開(kāi)源開(kāi)發(fā)框架。
2.優(yōu)點(diǎn)
- MAUI構(gòu)建在.NET生態(tài)系統(tǒng)的基礎(chǔ)上,可以利用.NET的豐富工具和庫(kù)來(lái)加速開(kāi)發(fā)過(guò)程。
- 開(kāi)發(fā)人員可以編寫(xiě)一次UI代碼,并在不同平臺(tái)上復(fù)用,加快了開(kāi)發(fā)速度并降低了代碼復(fù)雜性。
3.缺點(diǎn)
- 用vs搞MAUI工程,經(jīng)常出現(xiàn)編譯報(bào)錯(cuò)、清理工程后再次編譯才成功的現(xiàn)象。另外,編譯速度也很慢。
- 使用Maui編寫(xiě)的代碼可以再WIndows、Macos、Linux、IOS上運(yùn)行,但無(wú)法在Linux上運(yùn)行,無(wú)法做到真正跨平臺(tái)。
- 文檔不完整,平臺(tái)剛出來(lái),文檔還不夠完整,特別是中文資料。
- 社區(qū)支持不足:MAUI是一個(gè)相對(duì)較新的框架,開(kāi)源的解決方案、案例比較少。
5.Avalonia
1.簡(jiǎn)介
Avalonia是.NET的一個(gè)跨平臺(tái)UI框架,提供了一個(gè)靈活的樣式系統(tǒng),支持廣泛的操作系統(tǒng),如Windows、Linux、macOS、Android、iOS。
2.優(yōu)點(diǎn)
- Avalonia的語(yǔ)法是比較適合WPF開(kāi)發(fā)者的,前臺(tái)是xaml界面,后臺(tái)是C#代碼,熟悉WPF的開(kāi)發(fā)人員可以很快上手Avalonia開(kāi)發(fā)。
- 跨平臺(tái)效果比較好。
3.缺點(diǎn)
- dll比較多,資源占用比較大,簡(jiǎn)簡(jiǎn)單單的應(yīng)用就要占用100多M的內(nèi)存。
- 商用要收費(fèi)。
- 國(guó)內(nèi)使用人數(shù)較少,中文資料較少。
6. Cordova
1.簡(jiǎn)介
Cordova 是一個(gè)基于 Apache 的開(kāi)源框架,可以使用 HTML、CSS 和 JavaScript 創(chuàng)建移動(dòng)應(yīng)用程序,支持多個(gè)平臺(tái),包括 Android、iOS、Windows 和其他移動(dòng)操作系統(tǒng)。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-720498.html
2.優(yōu)點(diǎn)
- 使用前端技術(shù)(例如 HTML、CSS 和 JavaScript)進(jìn)行開(kāi)發(fā),易于學(xué)習(xí)。
- 可以在多個(gè)平臺(tái)上構(gòu)建應(yīng)用程序,并且可以通過(guò)插件擴(kuò)展功能。
3.缺點(diǎn)
- 應(yīng)用程序性能可能不如其他跨平臺(tái)框架。
- 用戶界面無(wú)法與原生應(yīng)用程序媲美。
7.Electron
1.簡(jiǎn)介
Electron 是一個(gè)用于構(gòu)建跨平臺(tái)桌面應(yīng)用程序的開(kāi)源框架,允許開(kāi)發(fā)者使用 JavaScript、HTML 和 CSS來(lái)構(gòu)建應(yīng)用程序,支持 Windows、MacOS 和 Linux。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-720498.html
2.優(yōu)點(diǎn)
- 具有強(qiáng)大的支持和社區(qū)。
- 可以使用前端技術(shù)進(jìn)行開(kāi)發(fā),易于學(xué)習(xí)。
- 可以構(gòu)建跨平臺(tái)桌面應(yīng)用程序。
3.缺點(diǎn)
- 應(yīng)用程序大小可能較大。
- 性能可能不如原生桌面應(yīng)用程序。
到了這里,關(guān)于跨平臺(tái)開(kāi)發(fā)技術(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!