日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

qt和c#怎么选_请问目前做windows桌面应用程序,MFC、QT、C#哪个更好?

發布時間:2023/12/3 C# 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 qt和c#怎么选_请问目前做windows桌面应用程序,MFC、QT、C#哪个更好? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

回答問題之前,先裝個逼——沒有主導過生命周期三年以上的桌面軟件項目的,閉嘴。你連一個桌面軟件項目的生命周期都沒經歷過,你憑什么做技術選型?憑信仰嗎?

裝逼結束,正文開始。

首先,非主流技術和過時技術先淘汰掉,包括但不限于:delphi、mfc、c++ builder、gtk+、java系、易語言……

最終入圍的基本上就三種選擇:Web、Qt、C#。

首先說Web,我們明確一點,當下的桌面軟件項目,必須具備完整的Web能力(包括開發/部署/運行/測試等),直觀的說就是你的軟件中必須包含瀏覽器。尤其是企業軟件,發展到后期,除了核心功能之外,必然附帶大量的增刪改查模塊,這部分不用Web你會極其難受。有些人可能native用的挺熟練的,覺得不就是表格表單報表么?我用native一樣堆出來——相信我,你在浪費生命。

Web必然入選,但是注意,Web入選不意味著electron入選。事實上如果不是互聯網公司的項目,我不建議使用electron。一方面,傳統公司不需要迭代那么快,他們前端力量也有限,出了問題解決不了;另一方面,哪怕是互聯網項目,發展到后期,也不約而同地開始約束前端隨意調用nodejs API的行為。

建議使用libcef提供Web能力,同時native封裝有限的API供Web調用。這里我不推薦使用框架原生的webview,比如QtWebEngine,以及winform自帶的WebBrowser組件,這些工具比較冷門,資料少,出了問題不好排查,而且瀏覽器內核版本也未必符合要求。

結論:libcef入選,electron淘汰,原生webview淘汰。

接下來考察C#和Qt,這兩個技術各有支持者,不是非黑即白的關系。比如我看韋大的答案下面很多人在爭論工控領域應該用Qt還是C#,其實國內工控領域的老大浙大中控,這兩個技術都在使用。

我個人比較推薦Qt,極其強大,跨平臺,可以用C++單一語言(調試成本低),還有一些很貼心的功能,比如基于qss的換膚。不要覺得換膚不重要,實際上做項目賣軟件的公司經常遇到這樣的需求,要么是甲方想用專有皮膚,要么是你接到的項目是OEM項目,中間商要求換膚。

但如果使用Qt,我不推薦使用Quick(Qml),太非主流,而且對比Web沒什么優勢。建議能用Web的模塊就用Web,需要深度開發的模塊使用QWidget配合OpenGL深度開發。

結論:Qt入選,但是Quick淘汰。

C#能有一席之地,主要是因為傳統。有些領域長期以來就是使用C#開發,人才比較集中(C#人才確實比C++好招,而且便宜,也更不易跳槽),開發效率也確實高。如果沒有跨平臺訴求,也不是前瞻性很強的項目,可以考慮沿用C#(關于前瞻性,多說一句,新冷戰都要來了,你確定你的項目不需要跨平臺嘛)。

用了C#,還要選擇是用winform還是用WPF,按理說這不該是個問題——無腦WPF就完事兒了,畢竟開發效率高,對于高分屏等新問題微軟也會有相應的支持。但是什么問題只要涉及到“傳統”,就說不清楚了,只能說如果是新產品,不考慮技術資產繼承的話,建議WPF。

結論:WPF入選,winform你看著辦。

綜上,如果是我來作架構師,通常情況下我會選擇Qt+libcef。兼顧強大功能與開發效率,同時Qt和Web前端都是前景光明的主流技術,社區力量強大,技術風險小。如果考慮到特定行業的技術積累(不光是你自己的積累,還有供應商等等)和人才招聘,可以考慮WPF+libcef。

總結

以上是生活随笔為你收集整理的qt和c#怎么选_请问目前做windows桌面应用程序,MFC、QT、C#哪个更好?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。