Make Java Sexy Again! by Michael | CodeData
top

Make Java Sexy Again!

分享:

從1995年到現在,Java技術一直用非常戲劇性的方式,讓它發展為現在的樣子。或許它現在已經跟當初的目的很不一樣了,不過它的本質倒是都沒有變,不管你拿它作什麼,大概都會具有豐富的內在與簡單的外表。

Java技術現在似乎已經變成一種很適合用來開發不需要畫面的應用程式,像是網頁伺服器或是應用程式伺服器中的元件,不論是Java技術本身,或是後來發展的各種框架,用它來開發這類應用程式,跟其它技術比較起來,Java技術都是一個不錯的選擇。也因為這樣的狀況,Java技術人員幾乎投入全部的精力來發展與企業相關的應用。大家似乎都忘了,使用者還是需要一個可以操作應用程式的畫面,而且他們對於畫面的要求也越來越高了。

一個應用程式的畫面,不論是桌面或網頁,使用者想要的都差不多,操作起來當然要簡單、順暢,而且畫面最好是很好看。一個商業應用程式,使用者用它來輸入一大堆訂單或是出貨單,對開發人員來說,畫面好不好看,好像是最不重要的一件事,重要的當然是應用程式的功能、效率,還有正確性這類很技術性的東西。或許是蘋果造的孽,現在的使用者常會問一個問題:為什麼它們的程式畫面可以這麼好看?

Java技術在使用者介面方面,好像一直不是重點,可是使用者介面的需求是不會消失的,總不能一個應用程式的後端伺服器元件使用Java技術開發,使用者介面卻使用其它技術。所以Java技術在2008年開始,正式發表一種叫作JavaFX的技術,接下來幾年,JavaFX經歷了跟Java技術很類似、甚至更慘烈的變化。

2008/12/4,Sun正式發表JavaFX 1.0,根據當時官方的說法,它可以整合和統一網頁與桌面應用程式的使用者介面開發技術,採用「JavaFX Script」這種全新的程式語言,它不像Java,也不像JavaScript,所以不管是Java或是JavaScript程式設計師,都要重新學習這種新的語言。

2009/1/12,發表JavaFX 1.1,包含一個讓大家很感興趣的「JavaFX Mobile」,把JavaFX擴展到行動裝置的使用者介面,使用一種技術可以開發網頁、桌面和行動裝置三種應用程式的使用者介面,這好像是一件非常划算的事情。

2009/7/2,發表JavaFX 1.2,在網頁設計中很常見的CSS(Cascading Style Sheets)技術,首次出現在應用程式的使用者介面中,跟使用在網頁中的作法一樣,你可以使用不同的CSS設定檔來改變應用程式的外觀。

2010/4/22,發表JavaFX 1.3,修改一些問題,也加強了一些東西,不過感覺似乎不太對了。

2011/10/10,就在大家認為JavaFX應該已經消失的時候,Oracle發表JavaFX 2.0,也同時宣佈不再支援JavaFX Script和JavaFX Mobile。全新設計的JavaFX採用Java程式設計技術,Java技術人員終於有比較熟悉的感覺,包含很多而且全新設計的使用者介面元件。最大的變化是JavaFX從一種什麼都可以的技術,變成桌面應用程式設計使用者介面的解決方案。

2012/4/27,發表JavaFX 2.1,加強多媒體影音的支援,增加許多實用與方便的元件,也開始支援Mac OS X平台。

2012/8/14,發表JavaFX 2.2,加強多媒體影音、繪圖與觸控螢幕的支援,開始支援Linux平台。從Java SE SDK 7 Update 6開始包含JavaFX SDK與Runtime,Java SE SDK 6可以另外安裝JavaFX支援套件。同時也發表使用者介面設計工具Scene Builder 1.0。

經過這幾年來的折騰,總算是確定下來了,JavaFX讓Java技術人員,在設計桌面應用程式的使用者介面時,除了傳統的Swing和AWT外,可以有一個比較好的選擇。雖然它也有一些傳統Java技術以外的東西,例如使用XML檔案設計使用者介面,還有套用網頁設計中常用的CSS技術,不過JavaFX主要的架構採用Java程式設計語言,而且已經採用許多在Java SE 5加入的新東西,像是Annotation、Generic和Variable Arguments,全面採用這些特性的JavaFX,在開發應用程式的使用者介面時,會更加簡單和靈活。

你可能會覺得,現在的應用程式,大部份都已經整合到網頁應用程式中,這樣的趨勢對開發人員來說,有很大的好處,光是用戶端的應用程式環境,就可以省了很多麻煩,使用者只需要一個合適的瀏覽器,再加上一些不算太複雜的設定就可以了。雖然桌面應用程式好像在慢慢消失中,不過它應該還是會一直活下去,有很多實務上的應用,還是要有複雜與流暢的使用者介面才可以完成,就以每天要輸入上百張維修單的客服人員來說,在網頁上操作起來,總是覺得不是夠流暢與快速;可是一個使用者介面設計得不錯的桌面應用程式,可以讓他們快速的操作與輸入一堆資料,輸入的輔助與資料的檢查也會更即時。

桌面應用程式在呈現即時資訊,還有提供簡單與快速的操作方面,都會比網頁應用程式好一些。一個可以查詢汽車即時銷售資料的應用程式,在某個銷售門市賣出汽車後,就可以馬上在畫面中標示出來,在那裡賣出了哪一種車子,在畫面上可以看得即時又清楚;在查詢銷售統計資料的畫面,可以讓使用者隨意選擇需要查詢的時間範圍,應用程式會從伺服器中讀取與顯示最新的資料,所有的資訊都使用非常清楚的圖表和表格呈現在畫面中:

在桌面應用程式瀏覽一些照片或圖形,在效率與特殊效果的呈現上,也會比在網頁中好一些。像下面這樣的應用程式,使用在音樂專輯封面或是產品資料的瀏覽,都是很常見的應用:

在應用程式中使用圖表呈現複雜的資訊,不論在桌面或是網頁應用程式中都是需要的,呈現靜態的圖表是很早就有的作法,現在的使用者會更想要看到一些清楚而且動態的圖表,最好還可以讓它們執行一些操作,檢視更詳細的資訊:

觸控螢幕已經在行動裝置上應用很久了,桌面應用程式雖然也看得到,不過應用程式的支援是最重要的,尤其是多點觸控,如果只是用一根手指頭來代替滑鼠游標的操作,那就不能發揮觸控螢幕或觸控板的好處了。使用多點觸控的操作來捲動畫面上的物體,還有縮放和旋轉,對使用者來說,應該會是一種最直覺與方便的操作方式:

在大部份的應用程式都使用文字和表格來呈現資訊的時候,如果可以看到一些圖表和動畫,就會讓使用者感到很新奇,如果應用程式設計得不錯,使用者當然會希望看到比較圖形化而且動態的資訊;雖然使用圖形和動態的方式來呈現資料已經很不錯了,而且也是目前應用程式很常使用的作法,不過在使用者越來越高的要求下,2D的畫面也不太夠了。一個用來監控與管理貨櫃港口的應用程式,這些每天大量進出的貨櫃,管理人員真的需要一個比較立體的畫面來執行他們的工作,使用3D畫面呈現清楚、順暢而且即時的資訊,對他們工作會有非常大的幫助:

這幾個應用程式的介紹,有的是簡單的示範,有的是實際的應用程式,它們都是使用JavaFX技術來製作使用者介面。你可能會覺得這些範例呈現的應用好像沒什麼特別的,在Java平台以外的技術早就已經實作很久了,就算是Java平台,也早就有一些商業套件可以完成這些工作。不過JavaFX的出現與重生,代表Java技術平台擁有與內建這個全新的使用者介面技術,Oracle在接手Sun之後,也宣佈會持續發展JavaFX技術,而且Oracle直接告訴我們它的計劃:

make-java-sexy-again-1

從2012年發表JavaFX2.0開始,JavaFX技術算是穩定下來了,定位也非常清楚,Java技術開發人員,會使用JavaFX來開發桌面應用程式的使用者介面。配合全新設計的Scene Builder工具程式,用它來設計應用程式需要的使用者介面,會更加快速與方便。JavaFX也已經整合到Java SE開發套件中,成為標準版內建的技術。依照Oracle的計劃,JavaFX與Scene Builder會隨著Java SE一起更新版本,也會與NetBeans IDE有更好的整合。

全世界有非常多技術人員使用Java技術開發各種應用程式,可是一些畫面好看、特效很酷,使用者操作起來很流暢的桌面應用程式,通常不是用Java技術開發的,更不用說在休閒娛樂方面的程式,它們對動畫、特效和3D效果的要求,比一般商業應用程式更高。JavaFX可以讓Java技術開發人員,使用一的新的方向來看Java技術,讓使用Java技術開發的應用程式,具有豐富與實際的內在,也可以有好看與性感的外表。

資料來源與參考資訊:

後續 >> Java FX 架構

分享:
按讚!加入 CodeData Facebook 粉絲群

留言

留言請先。還沒帳號註冊也可以使用FacebookGoogle+登錄留言

關於作者

張益裕。目前的工作是講師與作者,專長是教育訓練課程規劃、教材編製與課程推廣,技術書籍與專欄寫作。涵蓋的領域有OOAD、Java程式設計、JavaFX、Java Embedded、Android與SQL。已出版電子書Google Play圖書Pubu

熱門論壇文章

熱門技術文章