就連在Java策略上,Sun也提出重大改變。不管是J2SE或J2EE,都朝著簡易開發(Ease Development)方向走,希望可以吸引其它陣營的程式開發人員,同時降低轉移至Java平台的技術門檻;而對原本就是Java平台的開發人員而言,簡單且功能強大的工具、API、語法,可讓開發人員更容易、快速地建構穩定與效能兼具的Java應用程式。
在今年第九屆的Java開發者大會—JavaOne 2004中,來自世界各地Java開發人員,幾乎擠爆了美國舊金山市的Moscone會議中心。面對外界部分聲音質疑Java熱度已降,Jonathan Schwartz在第一天的大會演講中,就大聲宣示Java對於世界的影響力。
他表示,至目前為止,全世界已經有超過四百萬的Java研發人員,單是Java軟體開發工具(SDK)已被下載超過一億次;全球六千五百萬人次,已在Desktop中建立Java環境,同時有六億五千萬台PC出廠時,已事先內建Java;當然,還包括三億五千萬台手持式裝配備Java執行環竟,光是這些手持裝置中的Java Game,預估時至2006年,將可創造1.9億美元的商機。
當然,對於這些數字,我們可以用更為輕鬆的角度來看,因為敵方陣營所作的市場調查可能不會有如此漂亮的結果。但只要靜下心觀察生活周遭,你就會發現Java真的無所不在(Java Everywhere),也因為Java無所不在,造就了商機無限(Opportunities Everywhere)。
老虎準備誰發威?
今年JavaOne 活動中,新推兩項備受矚目的新技術,一是「代號」為Tiger的J2SE 1.5,二是J2EE 1.4。J2SE 1.5為JDK 1.0以來,語言層級改變最大的一次,正式的版本名稱改為J2SE 5.0。
J2SE 5.0提供不少開發員人期待已久的語言特性,包括好用且標準的API。當然,執行效能也出現大幅改善。J2SE 5.0就像代號「Tiger」一樣,被賦予強壯、兇猛的性格。有趣的是,在JavaOne大會中,還真請一隻小白老虎上台亮相,模樣十分可愛討喜。
或許,開發人員現在還無法從牠身上感受到「Tiger」的威力,但是,就像程式設計這一行,除依靠一點點的天賦之外,最重要的是經驗。小老虎有一天會長大,只要我們和Java共同努力,終有一天,會變成威力十足的老虎。
以「Tiger」為代號命名的不只Java。在JavaOne活動登場的同一時間,Moscone會議中心西邊的會場上,也有另一場的世界開發者大會(Worldwide Developers Conference, WWDC)正在舉行,而主辦人正是Apple。
從Mac OS X 10.2開始,Apple採用一系列的貓科動物命名,如10.2版的Jaguar、10.3版的Panther,一直到今年在WWDC上正式亮相的 「Tiger」-Mac OS X10.4版本。正如J2SE 5.0 Tiger一樣,Mac OS X 10.4標榜新增更強大的功能,兩者剛好都叫Tiger,是巧合嗎?
我想,兩者不只都想利用Tiger的形象展現產品具有威力的一面,從WWDC會場中頗令人玩味的廣告標語:「Introducing Longhorn」、「Redmond, start your photocopiers」、「This should keep Redmond busy」、「Redmond, we have a problem」,大家應該不難猜出,是衝著誰而來。
其實,打從Mac OS X開始,Apple即立志成為「世界第一」的Java開發平台,而Sun與Apple之間合作也愈形密切。今年,Java之父James Gosling也應邀至WWDC介紹Sun Java Studio Creator;而各大廠商如Oracle、Netbeans、Eclipse、JBuilder、TogertherJ旗下的開發工具也相繼支援Mac OS X。在Mac OS X 10.4中的XCode 2.0,亦是個不可多得的好工具,我想,要成為「世界第一」的Java開發平台,也許是指日可待。
Java開發一點都不難
回頭看JavaOne,如同先前所述,新版本技術十分著重簡易開發。在新版J2EE 1.4中,眾所關注的焦點即環繞JSP 2.0(JavaServer Pages)中的JSF 1.1 (JavaServer Faces)與EL (Expression Language),其中利用簡易的開發工具Sun Java Studio Creator內建豐富的網頁元件,可創造類似於Visual Basic的使用情境,讓開發人員得以快速地部署Web Application。
Sun Java Studio另有 Enterprise版本,是開發企業級應用程式不可或缺的好工具。除像Rational XDE、TogetherJ一樣,已事先與UML整合之外,還有「合作模式」,可讓多位程式開發人員,經由該工具,共同編輯一份程式碼,或是利用附加的聊天功能,作為程式開發人員之間交換心得與意見的平台。
至於EL,可說是J2EE 1.4送給網頁開發人員的禮物。由於JSP網頁只剩下單純的資料展現,不再是一堆讓美工人員看不懂的Java程式碼,也不會將商業邏輯寫入JSP網頁中,也更符合MVC Model 2的規範 。
雖然原本的JSP Expressions也相當方便,但並不符合XML格式,EL改善了這項缺點。綜合所有新增功能的效益是:網頁更乾淨,程式分工更明確,而網頁美工跟後端程式開發人員溝通更方便、在Web Application開發上更貼近模組化,也相對易於維護。
此外,新釋出的版本在效能上也出現相當程度的突破,「Java在Desktop上的執行速度很慢」這句話已經過時。在會場上,我見識Java 3D技術所開發的第一人稱射擊遊戲,我想,大家對於Java的執行速度真得改觀。關於J2SE 5.0新特性與改變,我將會在未來幾期的專欄文章中詳加介紹。
J2ME一樣炙手可熱
不只J2SE和J2EE發表新鮮的玩意,J2ME也正炙手可熱。JavaOne議程中,不只邀請「老虎」站台,會場中還開進一台BMW,公開展示西門子(Siemens)所研發的VDO Automotive系統,該系統結合手機通訊、GPS導航,非常的酷!詳細系統介紹可參考西門子網站。
此外,瑞典手機大廠諾基亞(Nokia)也在JavaOne中展示新近開發的中介軟體系統(Middleware System)。當手機內的Java程式發生故障,便可利用該系統,即時與跟後端系統技術人員連絡,立刻獲得協助,如更新檔案等,可讓使用者順利執行手機中Java應用程式。其實,這套系統是利用基本的 JSR 232行動運作管理系統(Mobile Operational Management) ,讓管理工作不只限於伺服器端,還能進一步與Client互動,即時提供Client端所需要的幫助。
隨著手持式硬體裝置的功能越來越強大,J2ME所能完成的應用也就愈豐富。Java Game只是大家比較熟悉的一環,事實上還有很多機會,只等待創意開發出另一個killer application。
Java Desktop System炫麗登場
這次JavaOne還給開發人員另一個振奮人心的驚喜。以前只能遠遠觀看具備炫麗的操作介面,但無法親自使用的Java Desktop System,就是之前Sun已對外展示多次的3D操作介面—Project Looking Glass已正式釋出。而Sun也已允諾將公開Java 3D與Project Looking Glass的原始碼。有興趣的開發人員可至官方網站查詢、下載早想一虧究竟的所有秘密。
如果還是覺得沒有好的系統、好的環境、好的支援工具來開發你的Java應用程式系統,不妨前至「eBay」買套Sun的開發工具。(http://www.ebay.com/sun)沒錯!Sun已在JavaOne中宣布與eBay合作,將對外銷售整套程式開發環境,包含Sun Opteron電腦、Solaris 9、以及為期3年的Sun Java Studio Enterprise授權與技術支援,價格三年的 SunSpectrum Silver support program。價格自 $1699美元起跳。
從這一、兩年中Java Game的大紅大紫,似乎可以嗅出Java時代真的來臨。未來,Java將深入你我生活中的每一個角落,小至晶片式的RFID應用、Java Card(如健保IC卡)、手機應用程式,大至企業後端商業應用系統的部署。
也許,你還難以感覺Java技術為日常生活所創造的便利性,但Java真的已無時無刻的出現在你的生活裡。 是誰說Java已快走下坡?以我看來,經過過去幾年的準備,現在才是正要起飛的時候。不可否認,在PC的世界中,也許還是微軟的天下,但世界上並不是只有PC而已,日常生活中你不一定會使用PC,但難以缺少電視、汽車、手機等日常生活必需,Java可能發揮魅力的舞台更寬更廣,Java已帶來了許多的機會,就看你準備好了沒!
4.HY 於 2005/01/03 01:48 回應
其實還有很多改進空間上了 Programming Langauge 的課之後才知道, Java Language 本身還有很大的改進空間, 還有很多 Programming Language 可以有的功能, 可以放入 Java 內, 以增加 Safety. 聽說, 新一代的 Java Language 要把部份的 Type Recontruction 放入其中, C++ 的 template 算是 Type Recontruction 的 subset, 讓我們拭目以待吧 !!
3.鼓勵 於 2004/07/27 20:35 回應
若是完美,這一版豈不成了末代版本了?我用Java,但是理智用戶.天下哪有完美的產品?大話說多了,就把路走窄了,也容易教人看扁了.
Java仍有進步的空間,可以更好,也可以是最好,但絕非完美.否則,這一版豈不成了末代版本了?
大家都加油!它會更美好!
2.良葛格 於 2004/07/15 19:46 回應
完整的藍圖就我個人而言,Java帶給我的是一個完整的藍圖,無論是在學習層面或是應用層面的。。。。
話說回來,現在應用Java 3D技術的實例多嗎?曾經研究過一段時間,但覺得速度問題有待加強而停止再深入,那個第一人稱射擊遊戲不會只是用硬體來彌補速度而產生的吧!。。。。
1.洪志鵬 於 2004/07/14 17:36 回應
Java真是成熟的技術,每天在進步在Sun待了七年多,一直沒機會去參加JavaOne。真羨慕朱仲傑可以親臨盛會。
今年的JavaOne很精彩,尤其是Java之父James Gosling那一場keynote,有好幾個很酷的Java應用展示。接下來一定還有更詳細的報導,我們正在等著看。老朱,加油吧!