桌面軟件開發一直以來是 Java 程序員不敢輕易涉足的地方,緣由有三:醜、慢、難。而自從 Java 8.0 將 JavaFX 包含進來以後,狀況有所改善。JavaFX 是用來代替以前的 Java GUI 框架 AWT 和 Swing 的,界面風格更現代化,運行效率更高,接口封裝更合理。java
還有一我的們關心的方面就是軟件如何打包。好在 Java 不須要單獨安裝,就能夠隨着軟件一塊兒打包直接運行。Oracle 在 JVM 的平臺兼容性上花了很大功夫,Windows 下只須要在 32 位和 64 位兩個版本之間選擇。若是你的應用運行內存可能超過 1GB,就應該選擇 64 位版本。程序員
JVM 打入 zip 壓縮包後的大小在 70~80MB 左右,放在 10 年前這還算是很大的,而現在算是中等大小吧,在 8M 帶寬下一分多鐘就能下載完。Java 9.0 還會有定製化 JVM 的功能,能進一步縮小 JVM 尺寸。固然若是你不嫌麻煩的話,現有的一些工具也能夠作到。app
還有一個問題就是如何雙擊運行。首先能夠提供一個bat 文件,可是 bat 文件沒有自定義圖標,咱們能夠建立一個指向它的快捷方式,快捷方式能夠用自定義圖標。但對於解壓運行的方式,由於解壓位置不肯定,而快捷方式路徑是絕對的,因此這種方式行不通。還有一個辦法就是編一個通用的 exe 可執行文件,它的惟一做用就是運行 javaw 命令,命令參數能夠放在一個隨帶的配置文件裏。這是現在不少 Java 軟件的作法。框架
好了,上面羅嗦這麼多,主要是針對你們對 Java 桌面開發的後顧之憂作一些解釋。但說到底 Java 桌面開發自己究竟如何?我已經用 JavaFX 作了將近兩年的開發,我以爲 JavaFX 已經能夠知足桌面開發的基本須要。工具
我到底作過什麼呢?下面是幾個軟件的截圖,都是用 JavaFX 原生界面作的,我沒太多時間花在界面美化上,一是用戶沒這個需求,二是我一個程序員也不會作設計,三是原生界面已經足夠美觀了。相對於那個殺千刀的垃圾 Motif。ui
別人作的是這樣的(參考這裏):google
看到沒,其實也不是我水平差,只是沒有設計師給我作圖標而已!spa
上面的圖片來自Quora。這麼牛逼的界面怎麼作到的,其實細節我也不清楚了,但總之能夠作到就是了。設計