快速開發桌面程序用什麼技術合適?
本人在工作中有時會根據需要寫一些小工具。因為上大學時用Java比較多,所以多數小工具都是用Java編寫;而且主要是自己使用,基本上就是打包成jar包,或者乾脆運行的時候調IDE。但最近有同事發現了我的這些工具,他們也想要,有人因為不了解Java建議我做成那種可以直接運行的可執行文件。
因為多數時間用Java,不僅windows下面開發GUI程序不怎麼了解,而且除了處理文稿、上網聊天等事務,主要使用Linux。
不過現在同事想要,我就需要學習windows下開發GUI程序了。我聽說有MFC、.Net、QT等技術,那麼哪一種技術上手比較快,可以方便做成綠色軟體的呢?
補充:
1、有些同事不太懂計算機,所以不考慮教他們安裝JRE之類的事情
2、不考慮Python,這個也需要類似JRE的運行環境,雖然可以用別的法子打包成EXE,但真的有點麻煩
3、性能不是主要問題,快速學習才是。我們這裡基本上都是win7和win10系統,XP不是重點了
4、上學時接觸過Java、C、C++,工作後用過一點Python,也做過JavaWEB開發,屬於有一點基礎的人
.net最快。
win7以上自帶環境不用安裝。不考慮性能用2.0和winform就行了。vs自帶設計器超級方便。編譯出來直接exe也不需要打包。c#語法和java超級像,也不怕你學不會。不推薦任何系統原生的gui,那套基於c/c艹的技術,學習開發成本都比較高。java直接swing,不想用java可以考慮electron。
還有一種目前客戶端開源軟體喜聞樂見的gui方案——網頁。是的,沒看錯,就是通過瀏覽器訪問你的客戶端網頁。
客戶端主程序簡單啟動一個靜態http伺服器,這可以自己基於tcp寫,也可以調用第三方庫。然後你以網頁的方式呈現gui,瀏覽器直接訪問本地埠。網頁的前端開發目前技術棧非常豐富,從最簡單粗暴的html css js,到jquery bootstrap react。你可以找到很多模板,可以拿來開始改,比較快。
這種方案最大的好處就是,跨平台極好,沒有額外的第三方gui二進位庫依賴(只需要瀏覽器),而且你的主程序可以用任何語言來寫。Java可以打包成exe的,有工具你說的那些技術,感覺.net上手簡單些,再學學WPF就可以起飛了
1.qt(win macos linux)
1.delphi(win macos)一直用從解決問題的角度講,最簡單的方法就是你幫他們把JRE裝好,建一個快捷方式,然後告訴他們雙擊圖標就能運行。這不需要他們學習任何東西。
用不同的語言重寫一遍?這樣不會為你的軟體增加任何價值。當然如果你閑到沒事做的話那怎麼玩都行。
JVM ==&> JavaFX
.Net ==&> WPF/UWP
Web ==&> Electron
依賴什麼的可以做一個安裝器進行安裝配置啊
綠色軟體的話就把所有平台下可能的依賴都打包進去
如果熟悉C# 並且對.net framework 不在意的話 那就 winform,wpf(有點複雜沒有winform開發快捷)
如果熟悉C++ 那就 QT。
其他語言或技術 暫時不推薦。
用Swing或者JavaFX都挺好。用Excelsior JET 來aot編譯一下就能打包成exe了
用Electron寫JavaScript發布應該是最糙快猛的方法了,開發速度又快又好看。就是生成的文件有點大。
為免被鄙視,匿了。
電力系統不二選擇qt, 幾大廠家都用的這個
這種內部小工具的需求適合winforms,用c#開發,語法和java很像,界面直接拖拽。
強推一波WPF.
底層GDI?多少年前的老古董了,我們的底層基於directX,動畫?沒問題,異形控制項?沒問題。不想挨個給控制項命名?沒問題。
MVVM拯救世界,給控制項綁個變數就可以為所欲為,剩下的一概前台寫代碼解決,你都不需要進後台。
雖然肯定有人說WPF快死了,但是WPF是被web打死的,而不是其他桌面程序,就算哪天WPF死了,微軟還有UWP啊,和WPF差不多,稍微學學就能上手。
前端碼農發來賀電……為啥不是electron
可以使用SWT寫,你可以繼續使用你熟悉的java,又能開發出比較完善的GUI程序
不用額外開發就最快。反正也不用在乎界面。內部使用。既然之前用了Java,就盡量Java方案。不然還要另外學習技術棧,畢竟你只是要給別人用,達到目的就行。
c#寫winform程序,我從學習c#到交畢設一個月。直接打包exe,.net3.5 win7 win10都能用
小工具的話優先C#,入門簡單,加上有java基礎,代碼風格很相似,通用windows為主可以用net2.0來開發,支持更高的就安裝對應的framework就可以了。如果只是基於桌面版的話winform就是最佳選擇,網頁版可以切換成asp
嚴重推薦wxpython ,現在改名叫做Phoenix https://github.com/wxWidgets/Phoenix
第一安裝環境輕,python安裝包也就20m不到wxpython有網路就能裝,不到10M,加上編輯器sublime,全算下來也就不到50配置環境不到一個小時就可以搞定。,看看vc 、看看qt、看看java,看看各種jar包,看著就想砸,太僑情太費勁,配置環境有可能一天就沒了。
第二看代碼量,pythonic 不解釋
第三看demo ,phoenix的demo太強大了,各種控制項。wxWidgets/Phoenix
第四看打包,要是閉源的可以pyinstaller,windows可以打包成.exe,linux也可以打包,可以加圖標,可以捆成一個文件,非常方面,一條命令即可。
第五可以跨平台 windows linux mac 都可以。
第六成本低,指望幾個211 985的做小工具可能眼高手低,干幾天就跑了,招聘幾個差不多的,只要會c會java就可以,看資料、看文檔,上手快,能出活。
JAVA可以直接搞wpf
嘻嘻,寫個web應用哇,現在web端這麼火,一個瀏覽器就行了還不用安裝其他的
推薦閱讀:
※async/await非同步模型是否優於stackful coroutine模型?
※學習 ASP.NET MVC 框架有什麼好的視頻教程或書籍?
※目前看來 ASP.NET 中的 Razor (CSHTML) 語言是雞肋還是奇葩?
※怎麼讓代碼的邏輯更清晰?
※極大極小演算法有些不明白 ?