java桌面程序開發
『壹』 java適合開發桌面應用程序嗎
對於一門語言來說沒有適合不適合的,只有需求和實際相結合的結果。
java不擅長做桌面級應用原因有以下幾點:
java swing配置的按鈕相對來說不太美觀,而且優化,排版設計都沒有C#的好,甚至界面設計都要考代碼段來寫,不夠直觀,雖然有可拖動構建按鈕的界面但是用很不方便。
桌面級的應用中有些直接調用了windows的底層,對於java來說先要通過JVM然後再去windows對於數據量大的,效率要求嚴格的,多一層可能會對效率造成影響。
這也是最致命的,java運行需要java環境。你可以保證伺服器上裝好java,但你不能強制要求使用用戶去裝,當然如果你願意把原來只有幾個MB的程序打包成包含有200多MB J2EE環境的大應用也是可以實現的,但接著就產生了一個問題,如果是一個簡單的計算器程序,你是願意去用一個只有幾KB的C#程序,還是用一個200多MB的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在桌面端碌碌無為的借口。
『叄』 為什麼用java開發windows桌面程序那麼麻煩
為了兼容,導致java的桌面框架要跨平台。也就是說一套代碼windows,linux,mac都能用。而桌面程序是依賴於底層的系統框架的。各有特色,如果要兼容,只能拿公共屬性出來。這樣導致整個系統非常不好用。