-
1 # 玉宇清音
-
2 # 蕭鳴說
目前,最優的選擇有四個:
1.如果只在win下使用,.net form是不二選擇,可謂是又快又好,企業應用或定製開發都是相當好的,初學者也可以入手。
2.electron,跨平臺。需要會前端,必須熟悉js、css和html。屬於前端人員大殺器,如果是初學者,需要一下子學三樣東西,再加上electron的程序間通訊,可能會被搞懵。
3. qt5,可以使用qml(js語法)進行UI程式設計,但是需要懂c艹,但是寫軟體相當快,還可以寫安卓、ios、Linux、嵌入式中的應用。
4.flutter,剛剛正式支援win平臺的軟體開發。谷歌出的這個東西,適合沒有基礎的初學者,因為是一個全新的體系,全新的語言,寫ios、安卓非常高效,之後還會相容h5。如果是初學者可以跟著走,值得嘗試。但是新東西總有一些坑。
正式專案跨平臺建議electron或qt,只用win平臺強烈建議微軟自己的net。個人技術嘗試建議flutter。
-
3 # 豆丁扭屁屁
我插一嘴,就以上所有人的回覆,沒有一個能超越delphi的,即使現在不流行了,但是就桌面級開發而言,在座的各位都是弟弟!
-
4 # 大佬無雙
windows的桌面開發語言優選C#,macOS優選Swift,Linux沒接觸過不談,所以如果能在這二種語言中擇其一是最好的。C#跨平臺用xamarin mono,已經相對成熟,開發專案沒有問題,當然它並不是WORA的;Swift雖說也是跨平臺,開發windows暫時還不行,Swift on windows不成熟,相對成熟的工具可以試試remobjects的Elements,但它不是純Swift。
-
5 # jinesc
程式語言這種東西無所謂,只要能用啥都可以。 主要看你老闆需要和你會用什麼語言。
比如 我用AS編安卓程式,當然用JAVA。不過我後臺用ASP和ASP.NET來做,桌面端用VB,部分演算法用了C。 涉及微控制器部分控制也用C。
只要能達到目的啥都可以。
學會1-2種 換其他的也不是很難。
對初學者來建議學C起步吧。
-
6 # 0祥0子0
會C++ 用Qt5 非常不錯 寫程式碼效率很高
會js 用atom使用的那個框架
會Python用PyQt 寫程式碼很快
看語言咯
-
7 # 科技i關注
win桌面端直接上visual studio啊!然後你熟悉什麼語言?vb.net,c#,c++都有相應的win桌面工具。直接用就好了,非常好用
-
8 # Link阿楊
桌面端開發跨平臺的,如果你是輕量級的專案,那麼我推薦你用electron, 目前使用Electron來開發的桌面應用非常多,我們最熟悉的比如Atom,VScode等等。
electron是Node,Chromium,html,css,js的結合框架,這就需要你有一定的前端基礎。其實只需要瞭解一下electron的API就行了,其他的就像你在做web是一樣的。
這種方式最大的缺點就是效能,還有透明視窗也有問題。所以在做需要效能方面佔有很大成分的專案時,並不推薦使用這個方式。
那麼其他的,就是最近幾年使用比較多的windows directui框架,但它不是跨平臺的。
那麼就引出了qt,作為c++跨平臺的介面框架,這個上手的話,我覺得對一般人是有難度的,因為首先需要紮實的c++功底,其次你要熟悉控制元件的製作原理,因為有時候你需要定製自己的UI控制元件。它現在在嵌入式,軍工領域非常受歡迎。但是整個庫非常臃腫龐大,而且開發介面的效率也非常低。如果來做網際網路專案,迭代更新的速度根本就跟不上。
目前都只有大公司會採用,像maya這種生產力型的應用很多是qt做的。
其實pc端的應用基本也就windows會火一些,再加一個macos,那麼選擇qt應該會很好一點,畢竟你自己造一個跨平臺的框架,太費時。總之,做跨平臺就意味著,不可能做到既有效率又完美的實現各種功能,許多都要自己摸索。
回覆列表
主要有以下幾種技術Duilib;Gtk、Qt和WxWidget;Electron;QtQuick(QML);WinForm、WPF、Xamarin;Flutter;SwiftUI或Cocoa;Win32 API;
### Duilib
#### 簡述
Duilib是在Windows平臺上使用最廣泛的類庫,使用C++和XML混合程式設計,國內很多計算機企業都喜歡使用這個類庫,可能是由於他的技術許可比較寬泛的原因。
適合於介面比較簡單的軟體,視覺特效豐富,侷限於Windows的平臺。例子:360電腦管家。
#### 優勢
使用了DirectX作為底層,本質上和“遊戲”性質差不多。基於C++和遊戲引擎,速度很快,圖形特效可以做得很豐富;由於使用了遊戲引擎架構,有遊戲開發經驗的程式設計師可以通用很多遊戲技術;#### 劣勢
簡陋:源於開源專案,缺乏大型商業公司支援,基本上只有一個核心庫,缺少必要的周邊設施支援;耗電:基於遊戲引擎,重新整理率很高,因此比較耗電;需要顯示卡加速支援,沒有顯示卡和顯示卡效能不好都會導致應用出現問題。比如:緩慢、崩潰……只能在Windows平臺使用;### Gtk、Qt或WxWidget:
#### 簡述
三種基本可以做到跨平臺的技術,使用C/C++開發,使用者廣泛。其中WxWidget使用了API嫁接方式,Qt和Gtk(包括各種繫結技術)使用自繪技術。
結構嚴謹,軟體可以做的很大很複雜。例子:WPS和Maya。
#### 優勢
使用C/C++:速度快執行高效,程式碼嚴謹;省電:每次只重新整理必要區域,只有必要的時候重新整理;適用性廣泛:Linux、macOS、Windows平臺都支援。其中Qt甚至支援Android和IOS平臺;大公司支援:發展時間很長,有各種組織長期支援,各種基礎設施齊備。Gtk和WxWidget都有各自的基金會支援、Qt由Qt公司開發;#### 劣勢
開發速度較慢:C/C++語言固有侷限,為了嚴謹和執行效率比較繁瑣;跨平臺外觀和原平臺差異:看起來有些不協調,需要開發者精細調整;### Electron:
#### 簡介
使用Web技術開發桌面軟體,基於Chromium(Chrome)引擎,使用JS程式語言,絕大多數使用者都是原來的網頁開發者。
絕大多數都是愛好者使用,處於“勉強可用”的地步。
適合大面積靜態展示型軟體使用。例子:網易雲音樂。
#### 優勢
元件豐富:繼承了絕大多數網頁開發積累下來的元件;類庫豐富:繼承了npm上的絕大多數類庫;開發高效:JavaScript語法靈活,開發效率高,執行效率可以湊合使用。#### 劣勢
缺乏商業公司支援,Electron是由Electron基金會和GitHub為了他的Atom編輯器開發的,但是Electron受限於Web屬性的原因,只提供了很少的元件,更多元件需要使用者自行開發。執行效率低:JS本身效率並不高,Web技術基於Dom(Document Object Model)模型,JS和Dom模型互動效率較低,所以Electron軟體卡頓是正常的。不適合計算密集型軟體和圖形效果豐富的軟體。### QtQuick(QML)
#### 簡述
Qt公司開發的一款基於OpenGL的圖形類庫,有顯示卡加速,類似於Duilib。採用了C++與QML混合程式設計。QML類似於JavaScript語言。
QtQuick下一個版本在Qt 6上更加強大,業界期待已久。
#### 優勢
顯示卡加速:速度快,有顯示卡硬體支撐。元件豐富:Qt公司提供了大部分元件,使用者可以簡單呼叫,還可以使用Qt/C++傳統類庫。開發速度快:QML語法類似JavaScript,不需要編譯,可以說所見即所得。跨平臺:Windows、Linux、macOS、iOS、Android、blackberry……#### 劣勢
動態弱型別:缺乏必要的編輯器支援,開發者負擔較重,Electron也有類似問題。Qt6據說提供了QML靜態型別支援,這一點應該可以說不是問題。平臺需內建顯示卡支援:平臺受限。### Atk、Swing或JavaFX
使用Java語言開發軟體,有JDK加持業界積累的眾多Java類庫支援。有不輸於VS的IDEA加持,本應該更棒,只是現在已經式微了。
絕大多數使用者都是企業開發(不追求介面美觀)、愛好者(開發順手)。
### WinForm、WPF或Xamarin:
使用C#開發,WinForm和WPF侷限於Windows平臺。有VisualStudio加持使用很爽。
### Flutter:
使用Dart語言,新類庫,bug可能會很多。
### SwiftUI或Cocoa:
蘋果平臺原生介面技術,macOS平臺內建支援,不是macOS專用軟體不推薦。
### Win32:
經典Windows 平臺API,絕大多數只有一些老軟體還在使用,不是維護老軟體不推薦。