在臺灣Java界最著名的論壇是JavaWorld@TW,站長林康司架設這個網站時,是研究所一年級的學生,5年後的現在,他已成為資策會資訊工程研究所副工程師。

林康司前一陣子參加Google Android Challenge比賽。這次比賽共有來自70個國家,總計1,700多個團隊參加,林康司利用工作之餘和學長組隊,開發了一套「搭便車系統」,雖然沒有進入前50名,與2萬5仟美元的高額獎金擦身而過,但他認為開發過程是不錯的學習體驗。

運用地圖資訊與定位技術,開發搭便車系統
在2007年11月公布的這項比賽,話題性十足。別的不說,光是獎金就非常誘人!林康司得知訊息後,就很有意願參加,但苦思不著好的創意。

這時候研究所的學長李圭烽提出了一個構想,讓他們找到方向。他認為現在油價高漲,共乘也是很好的方向,由於他擅長的是Python,因此建議熟稔Java的林康司以「搭便車」這個想法去開發系統.於是兩人便組隊參加Google Android Challenge比賽。

基於這個想法,林康司開始著手開發。設計的方向是,願意共乘的駕駛在開車出發之後,利用手機上網、登入搭便車系統,並輸入目的地,系統會透過GPS偵測駕駛的座標,那麼想要搭便車的人,就可以知道會有哪些車經過他目前的所在地。

想搭便車的人,同樣也要在系統中輸入目的地,然後寫下願意支付的費用,再由駕駛決定是否載他一程;雙方必須透過手機來回確認兩次,才算成交。當然,駕駛也可以一次載好幾個,這樣就可以省下這一趟的油錢,甚至有機會小賺一筆。

整套系統的程式設計,由林康司一個人完成,因為時間有限,所以他只設計最基本的定位、共乘確認、收費及給評價等機制。

雖然沒有進入前50名,但他認為未來可以朝地圖和定位資訊方面的應用,持續發展下去。

網路應用程式開發的未來趨勢是M&M
由於這次設計的是與地圖資訊和定位有關的技術,因此林康司特別在網路上搜尋相關技術的參賽作品,找到一些有趣的應用,例如運用定位技術所設計的遊戲,玩家用現實生活的地圖資訊占領地盤和蓋房子;另一個計程車定位系統,還有一個是查詢附近的聚會,有興趣的話可以就近去參加。

就像Google臺灣區總經理張成秀所說的:「網路未來的趨勢是M&M,Mobile and Map。」參加Google Android Challenge比賽的隊伍中,運用定位技術的作品不在少數,看來確實是一個可以關注的應用程式走向。

Android的API類似Java SE,寫起來順手
林康司開發這套系統還有另一個原因,就是想試試API好不好用,而他的心得是不難寫。之前他一直沒什麼興趣去開發Java ME的應用,原因在於Java ME的函式庫(Library)跟Java SE不同,需要花額外的功夫學習。而Android的API類似Java SE,套件(Package)和類別(Class)名稱都很類似,對於熟悉Java SE的開發者來說,寫起來很順手。

他說,拿Android和Java ME的架構來比較,Android的底層是Linux核心,上面再綁Google 開發的Java虛擬機器(Virtual Machine),算是從作業系統到執行平臺的整套架構,而且提供了基本的函式庫供開發者使用。

而Java ME是提供一個跨不同的手機作業系統的虛擬機器,雖然帶來跨平臺的好處,但開發者需要下載各種手機的模擬器,而且手機對Java ME的支援不一,開發上受到限制,再加上手機的能力各有不同,就需要考慮更多的例外,例如無法支援藍牙,就不能開發相關應用。

雖然未來Gphone上市,還是有可能因手機款式的不同而產生功能多寡的差異。但林康司認為Android提供的API較多,即使把非必要的部分拿掉,例如地圖資訊和定位的API(未來手機推出時,廠商未必會提供),但總體API的集合還是比Java ME多。

而Android唯一的缺點,林康司認為是文件不夠充足,開發時需要到網路上找資料。

擔心Gphone錯過時機,使得開發意願受影響
除了Java ME和Android,手機相關的技術還有JavaFX,2008年昇陽在美國舉辦的JavaOne大會上,已出現JavaFX執行在Android上的展示。不過,似乎最快年底有工具問世,明年才會有實際的手機應用。林康司認為JavaFX的發展時程太慢。

不過更令林康司感到憂心的是,依目前的報導Gphone手機也會延後推出。以開發者的角度來看,實在拖得太久,畢竟iPhone已經推出第二代的產品,那麼Android到底能否取得好的市場是個疑問。

林康司分析:「如果Gphone到下半年才上市,特色既沒有iPhone鮮明,價格如果也差不多,那麼消費者購買的意願就不高。而手機賣得少,對寫軟體的人而言,開發意願自然也就降低。」文⊙李延華


將持續舉辦TWJUP活動,凝聚社群向心力

林康司目前仍身兼JavaWorld@TW站長,每天都會習慣性地上站回答問題,他告訴我們:「這是一個教學相長的過程。」現在他回想起來,工作上很多技術的運用,都是因為過去回答網友的問題而累積下來的。

林康司坦言,在那個Java剛興起的年代,他也算Java的生手,不是每個問題都答得出來,但為了增加網站的回答率,他會上Google搜尋,幫網友找解答。

時至今日JavaWorld@TW已經不需要特別的經營,就可以維持一定的熱度,平均大概有2~3萬個會員會固定上線,如果連沒有登入的瀏覽者也算進去,人數就更多了。

林康司不諱言,JavaWorld@TW能在Java界占有一席之地,是因為成立的時間點很早,搶得先機,再者他們聚焦在Java,雖然現在臺灣已有多個與程式開發有關的技術論壇,但是由於涵蓋層面廣泛,所以族群也比較分散,就算有Java的版面,問題的數量也不多。因此關於Java的問題,開發者還是習慣上JavaWorld@TW尋求解答。

不過,網站人數衝到一定的數量之後,林康司和林上傑也開始思索:「臺灣的Java人就這麼多了嗎?」又該如何維繫論壇的熱度呢?於是他們持續地增設子版面,把觸角延伸到所有Java相關議題 ,盡量跟上流行的技術,例如ZK及Android等,因為開發者除了平臺本身的問題之外,一定也有Java語法的問題,而這些版面的討論熱度確實不低。

當開發者持續在論壇上的交流,會產生問答之外的社群關係,因此除了版面的擴充,他們也著手舉辦TWJUG(Taiwan Java User Group)經營社群,在臺北辦的聚會平均會有30至50人來參加。

林康司發現,辦TWJUG的好處是凝聚向心力,參加者對這個社群會產生歸屬感,根據他的觀察,參加過活動的會員,在JavaWorld@TW比較常發言,所以他們希望未來固定每2~3個月辦一次聚會,倒未必是談程式,吃個飯、見見面就是不錯的交流。文⊙李延華



IT人物─林康司
資策會資訊工程研究所副工程師
●1981年生
●元智大學資訊工程研究所畢業,與林上傑共同建置JavaWorld@TW,並擔任站長,現任資策會資訊工程研究所副工程師

公司檔案─資策會資訊工程研究所
●成立時間:1979年(資策會)
●網址:www.iii.org.tw


Advertisement

更多 iThome相關內容