本文目錄一覽:
- 1、用java開發的、較成功的桌面應用軟件有哪些?
- 2、Java適合開發桌面應用程序嗎?
- 3、為什麼很多人說 Java 不適合編寫桌面應用
- 4、java如何在桌面搜索一個應用
- 5、北大青鳥設計培訓:Java用於開發桌面應用的優劣?
用java開發的、較成功的桌面應用軟件有哪些?
用java開發的、較成功的桌面應用軟件有很多,具體軟件名字建議官網查詢。學java開發推薦選擇千鋒教育,該教育機構採用全程面授高品質、高體驗培養模式,非常不錯。
java開發需要掌握的內容如下:
1、Java基礎
主要涉及:Java基礎語法、面向對象、核心類庫、集合、異常、IO、線程、JDK新特性等知識點.
2、JavaWeb開發
主要涉及:前端技術、數據庫、JAVA數據庫操作、軟件服務器及服務器相關技術、動態網頁JSP、AJAX等知識點.
3、Java高級框架
主要涉及:SpringMVC、MyBatis、Spring、MySQL高級、LinuxRedisNginx、Maven等知識點
4、大型微服務分布式技術
主要涉及:SpringBoot、SpringCloud、Git、Dubbo、Zookeeper、AngularJS、SpringSecurity、BCrypt加密、FastDFS、分布式事務處理、RedisCluster、Solr、SolrCloud、Freemarker、JMS、短信發送平台、SSO解決方案、CORS、Twitter的Snowflake、SpringTask、MavenProfile、MongoDB簡介、MyCat、Docker、Jenkins等知識點。
想要了解更多有關java開發的相關信息,推薦諮詢千鋒教育。千鋒教育成立教研學科中心,推出貼近企業需求的線下技能培訓課程。課程包含HTML5大前端培訓、JavaEE+分布式開發培訓、Python人工智能+數據分析培訓、全鏈路UI/UE設計培訓、雲計算培訓、全棧軟件測試培訓、大數據+人工智能培訓、智能物聯網+嵌入式培訓、Unity遊戲開發培訓、網絡安全培訓、區塊鏈培訓、影視剪輯包裝培訓、遊戲原畫培訓、全媒體運營培訓。採用全程面授高品質、高體驗培養模式,非常值得選擇。
Java適合開發桌面應用程序嗎?
從目前大的形勢看java對桌面應用開發缺少力度,特別是在windows平台下,一方面是執行效率,另一方面是桌面應用的部署不是很完備。但是如果考慮到桌面應用的跨平台特性,java還是很有優勢的,比如向linux平台遷移,甚至有時候java是唯一的選擇。所以總體考量的話,考慮跨平台的桌面應用開發的話java是首選。
為什麼很多人說 Java 不適合編寫桌面應用
Java的桌面程序並不少,其中最為知名的莫過於Eclipse。在Linux和Mac下,Java程序的比例遠高於Windows下。
不過,“Java不適合寫桌面應用”的說法有一定道理,論調的主要背景是供Windows下使用的企業桌面應用的開發。由於一些歷史和定位的原因,對於這種GUI程序的需求,Java的優勢不明顯,劣勢比較明顯。
這事還得從Java的傳統,“跨平台一致性”說起。
在寫後台邏輯的時候,跨平台是好東西。很多公司都是在Windows下開發,在Linux下部署,方便。
但涉及到GUI的時候,跨平台就成了個“看上去很美”的東西。理論上,我寫個窗口,在Windows和Mac下都一樣能用,那是多麼美好的事啊。但實際上,每個平台提供的GUI控件多多少少有點差別,一堅持跨平台,麻煩就來了,該支持多少控件,怎麼支持呢。
一開始,Java的思路是:那簡單啊,有原生控件幹嘛不用,至於不跨平台的,就不支持唄,又堅持了原則,又迴避了問題。這一代的gui庫,awt,就此誕生。
因為Java一開始是一根筋想推廣Applet的,只是“順便”也支持本地應用,設計成這樣不能說不合適,畢竟,HTML也是同樣的思路,只支持幾種最基本的控件。
但對於想開發複雜點界面的人來說,就有麻煩了。想來個目錄樹吧,對不起,不支持;想來個進度條吧,對不起,不支持。旁邊放着Delphi和VB這麼方便的東西,哥幹嗎受這氣啊。
這樣一來,Java自己也覺得說不過去了。但又要跨平台,又要提供豐富的控件支持,那就只有另起爐灶,開始用第二種思路:自己動手、豐衣足食,自己重寫一套GUI控件,代替操作系統的原生控件。這一代的gui庫,叫做swing。
這也是一個想“徹底”解決問題的思路,但是要付出代價。
代價之一就是效率。我們可以參考一下另一個相同思路的產品——flash。為了實現矢量動畫,在flash的那個小框里,圖是一幀一幀地算出來的。接下來的事情我們都知道了:複雜的flash動畫極耗cpu;iPhone說,您太耗電了,俺就不支持了;Adobe說,那好吧,那俺也不費心折騰移動版flash了。
自己畫出來的控件畢竟不能跟原生控件比效率,尤其是在早期Java優化還不夠完善的時候。而且,自力更生的目的只是為了平台兼容,不是為了更好的效果,這事兒其實怎麼想怎麼虧。
代價之二就是效果。自己畫的控件畢竟只是模擬,還是會有細節差別。比如著名的毛玻璃效果,這不是簡單套樣式就能套出來的。
而且,各個平台控件的風格本來就不一樣,雖然swing提供了幾種外觀,但大部分程序出於偷懶或是跨平台一致考慮,還是使用默認外觀。默認外觀跟平台不一致倒也不是問題,主要是別比平台效果土。我用着win7,一個程序非讓我感覺回到xp時代,心裡特別添堵。
就這樣,一幫人商量着,又琢磨出個新思路:做適配。平台有這個控件,就直接用,保證效率;沒有,再造輪子,保證可用。就這樣,swt問世。eclipse的gui就是基於此。
swt是贊,不過這屬於改良,兩個根本問題仍在:
1. 跟操作系統api打交道不是Java的長項,效率仍然不能與c++等相提並論。
2. 到底要不要跨平台。如果要跨平台,swt接瀏覽器控件、接ActiveX控件的功能就成了形同虛設;而要是不想跨平台,又何必使用Java呢,.Net在一旁已經恭候多時了。
(補充:原生控件在各平台下還是會有些差異,感謝@馮東指點)
@馮東:另一方面,即使每個平台都支持的 control 也多多少少有些差異。比如同樣是文本框,Windows 和 Mac (Cocoa) 對待 non-English 輸入法選詞的語義就不同。再比如對 focus-lost 的處理二者也不同。所以 SWT 其實目前很難做到 Swing 那樣的跨平台。跨平台么,終究還是只能做到最大公約數,比如 x86 支持 4 級,Unix 只用兩級。可那是大家都同意不用的。在 UI 級別可沒有人能同意不用操作系統的某個功能。
除了技術本身,還有一個產業的問題,圍繞着GUI控件也存在一個生態環境,沒有豐富的領域、行業控件的支持,技術本身的戰鬥力也會大打折扣。而Java這方面的生態較為薄弱。
綜上,如果一個GUI程序使用Java,通常都是有這些特徵:
確實是想跨平台
對界面並沒有太多效果的要求,界面效率也不是瓶頸
相比於其他GUI工具,開發人員對Java更為熟悉
比如,一些工具的管理界面,很符合
java如何在桌面搜索一個應用
(1)在你的控制台裡面,跑到你.java文件的根目錄底下,Javac xxx.java看能不能編譯出.class文件,可以的話繼續。
(2)在控制台輸入以下命令:javac -d c:\文件夾名 xxx.java把這個包存放在c盤下。
(3)在c盤這個文件夾裡面。新建一個txt文件,輸入以下內容:Main-Class:包名.類名,然後回車保存。
(4)再在控制台裡面輸入一下命令:jar -cvfm my.jar xx.txt 類名即可。
(5)在文件夾底下就會生成一個jar的文件,點開即可,不用再在Eclipse裡面跑了。
(6)要是認為生成的圖標不太好看,可以在文件夾選項中添加文件類型,增加一個.jar文件,將圖標選成一個你喜歡的圖標即可
(7)這個是我做的第一個Java桌面應用
北大青鳥設計培訓:Java用於開發桌面應用的優劣?
我承認即使在JavaFX出現之前Java已經在桌面領域做出了一些重大的提升,比如Swing中的提升;我們現在也有了很棒的OpenGL;DirectX也有了很大的提升;啟動時間也顯着提升了。
沒錯,杭州IT培訓認為Java在去年做了很多顯着而有效的工作。
然而不得不說的是,除此之外其他的仍是一塌糊塗。
比如Javasound實際上並不好用,被遺棄的Java3D又如何呢?最近甚至JOGL也被Sun遺棄,包括很久之前的SwingLab;JAI(用作圖片處理)多年未真正升級過,看起來也沒有在什麼地方得到利用,它迫切需要性能上的巨大提升以適應來臨的多核GPU時代所有這些應用於桌面領域的Java產品不是被遺棄就是成為雞肋。
而且很關鍵一點是,儘管我們可以用Java創建出桌面應用,但只要我們想開發真正的富桌面應用我們就無法真正使用Java而使用JNI、C/C++和平台依賴的libraries等。
使用Java構建桌面應用更多的是困難和麻煩,比如即便想要在Java應用內創建一個高效的優良的web瀏覽器都是一件難事。
而且沒有用Java編寫的圖片處理應用,沒有一個純粹的Javaweb瀏覽器,沒有數字音頻應用,沒有3D建模器,沒有矢量圖形編輯器,沒有先進的光柵編輯器。
Java今日在桌面端所到達的高度只能滿足那些服務器開發者,因為他們只需要在遠程服務時使用電腦桌面上的簡單界面。
過去我們一直說這是因為Java太慢,無法在一個慢的平台上開發出如此複雜的應用。
但我們這樣說是錯的。
原因有兩點:一,Java從來就沒有慢過,即便有些部分曾經慢過,但沒有人懷疑當它需要被用到服務器端時它會迅速地得到提升,比如JITs,GCs等。
這一點也正是Java語言卓越的地方。
二,由於Java平台的天然特性,Java應用總是第一個利用市場上新硬件和新操作系統的應用。
一旦JVM被配置到了一個新系統中,幾乎不需要任何編輯和調試,Java應用就可以在上面全速運行。
比如你在32位的操作系統上開發了一個應用,它就可以全速運行在Windows7或者Solaris的64位JVM上。
所以所謂的Java太慢根本不能成為Java在桌面端碌碌無為的借口。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/255035.html