四月 1, 2009 · 2 則迴響

前陣子在同事的推薦下開始接觸jQuery,它直覺且容易上手的特性果真讓寫Ajax變得愉快許多。在網路上讀了些文件後,我給自己出了個作業,最後產出的作品就是接下來要介紹的Lunch Reader。
作品名稱:Lunch Reader ─ 上班族專用的午餐閱讀器
使用情境
「午餐時間」對很多上班族來說是一天當中最黃金的時段(當然,如果你常加班,晚餐也很重要)。有些辦公室習慣一群人熱鬧地吃飯,但獨自坐在辦公桌前解決中餐的人也不在少數。在家裡我們可以邊吃邊看電視、日劇、電影、動漫卡通等,但在大多數辦公室裡,這種招搖的行為恐怕太超過了(特別是景氣不好的時候)。此時,瀏覽網路新聞就成了多數人低調下的選擇。
只是邊吃飯邊上網可不太容易,雙手很忙碌呢! 平常迅速的瀏覽動作在此時都變得異常遲鈍,更別說長久下來,鍵盤與滑鼠還會累積難以清洗的油漬。
Lunch Reader就是專門為這個特殊情境設計的午餐閱讀器。使用者只要選擇感興趣的新聞分類及適當的閱讀速度,Lunch Reader會替您一則則讀取新聞內容,並依照字數長度自動翻頁,讓瀏覽網路新聞像看影片一樣方便。
Demo Video
主要功能描述
1. 自動播放新聞,並依照內容長短自動翻頁。
2. 為了避免捲軸出現,儘可能將內容塞在視窗可見範圍內。
3. 提供快速鍵(熱鍵)操作。
4. hiChannel免費網路廣播。
5. 新聞跑馬燈。
目標市場與使用情境
1. 廣大的使用者族群:白領上班族。
2. 地點:辦公室。
3. 使用情境:一個人坐在電腦前用餐。
使用技術
1. Programming Language:PHP and Python (兩種語言各實作一種版本,上線版本為Python版) 。
2. Framework:Google App Engine with webapp framework
3. Javascript Library:jQuery and Google AJAX Feed API
獲利模式
暫無,僅供個人使用。
未來發展
1. 合作或付費取得授權內容:難度與成本均高。
2. 播放其他內容:例如「網拍商品」輪播、「惡搞漫畫」輪播、RSS文章輪播…等等。
3. 使用者提供內容:開放上班族上傳內容,可以抱怨豬頭老闆、分享茶水間秘辛或發表同事間的趣事等話題,有點微網誌的感覺,中餐時間這些內容就會上Lunch Reader分類頭條。但沒把握是否真的有人會貢獻內容?
4. 其他…
小結
網路新聞市場競爭非常激烈,但在閱讀介面上卻少有創新。如果以「時間」作為區隔來觀察市場的話,每個時段使用者上網的目的與姿勢都不盡相同,因此,針對特殊情境設計的閱讀器就是很好的切入點。Lunch Reader就是特別為在辦公室(1. 特定地點)吃飯時(2. 特定情境)的上班族(3. 特定族群)所設計的新聞閱讀器。當然,上述的觀察還只是假設,必須在使用者真正接受這種閱讀器後才能確定需求存在。
Lunch Reader目前只是一個閒暇時間開發的小工具,需要改進的地方不少,甚至連程式碼都尚未整理重構。但無論如何,只要它能解決一些人生活上的問題,那我就很開心了。
若有任何建議,歡迎留言或來信與我聯絡,讓Lunch Reader更好用。
分類: Ajax · Entrepreneurship · Lunch Reader · jQuery · 新創網站
三月 7, 2009 · 發表迴響
在網站中適度加入Ajax技術可以加強使用者體驗,但各家瀏覽器支援的標準不一的問題一直困擾著程式設計師。為了讓程式碼能跟瀏覽器相親相愛,我們大可不必埋頭蠻幹,已經有人提供了至少三種解決方案:
1. 站在巨人的肩膀上:使用Javascript Framework or Library
由於瀏覽器對Javascript的版本標準支援度的差異,提高了程式執行環境的複雜程度。為瞭解決這個問題,我們可以選擇一些架構或Library來減輕寫Javascript的負擔。常見的解決方案有:Prototype, Yahoo UI Library(YUI)與jQuery等。
2. 乾脆一點:放棄Javascript
寫Javascript除了要花上大把時間在除錯上,還得留意Server端與Client端不同語言間的資料型別轉換。有些人覺得,只要能做出Rich Internet application, RIA效果,使用什麼語言不是重點。因此他們決定釜底抽薪,從根本捨棄Javascript改學Actionscript,用Adobe Flash來做還可以一併免除CSS版本支援的困擾。
3. 迂迴前進:使其他語言開發,再轉成Javascript執行
本文要介紹的Google Web Tool Kit就是這類型的代表,除此之外還有jMaki, Java2Script(J2S)pacemaker, RJS(使用Ruby語言)可以選擇。
這種方案的好處是不需要熟悉Javascript語言,而且單一語言方便整合前後端資料。但缺點是普及程度還不夠,如果整個團隊只有你習慣這麼寫,最後還是得回歸大家共同習慣的方式Coding。
初探GWT:元件組成
在開啟專案前,先對GWT有個基本認識。首先,GWT可以簡單地分拆成四個元件理解:
| 分類 |
名稱 |
說明 |
| Library |
JRE模擬Library |
提供模擬環境讓編譯後的Javascript執行。 |
| |
GWT Web UI Library |
提供與Swing類似的API。每個元件稱為Widget,對應到各種HTML表單元件。 |
| Tools |
Hosted Browser |
開發時期使用的瀏覽器工具,由於這裡跑的並不是真的Javascript,所以可以開啟除錯模式,逐步執行程式碼、檢查伺服器物件狀態等。 |
| |
GWT Java-to-Javascript Compiler |
很像Javac的功能,可以把Java程式碼輸出成Javascrupt。 |
事前準備
1. 到官方網站Download Google Web ToolKit,目前最新版本是1.5.3版。
2. 準備Java開發環境:GWT採用「將Java程式碼轉換成Javascript與HTML」的方法來寫Ajax網站/應用程式,因此您的電腦需要安裝JDK。
3. IDE(整合式開發環境): GWT提供utility產生eclipse專案檔。使用GWT不一定需要eclipse,但以下的範例將搭配eclipse說明。
安裝Google Web Toolkit
1. 解壓縮後,將名為「gwt-windows-1.5.3」的資料夾放到適當的位置,並將資料夾所在位置加到系統的PATH路徑中,這樣您的電腦才知道GWT的存在,並能使用GWT提供的工具。加入PATH步驟:[我的電腦] -> 右鍵 –> 內容 –> 進階 –> 環境變數 –> 將路徑加入Path變數中,(e.g., ;C:\gwt-windows-1.5.3) 。
產生Eclipse專案檔並匯入Eclipse
1. 使用GWT提供的工具ProjectCreator建立eclipse專案,往後的步驟會將這個專案加入eclipse中。
在命令列中輸入:
projectCreator -eclipse <專案名稱>
執行後自動建立src、test兩個資料夾及.project與.classpath兩個檔案。
2. 使用applicationCreator建立GWT專案,在命令列中輸入:
applicationCreator -eclipse <專案名稱> <應用程式名稱>
3. 將專案加入Eclipse
File –> Import… –> Existing Project into Workspace
圖片來源

圖片來源
執行結果:Host 模式
圖片來源
大功告成
到這裡我們已經成功建立了GWT專案,如果還有興趣的話,可以照著官方網站的教學實做一個Ajax版的看盤工具。
Reference:
- Google Web Toolkit (GWT) by IBM中國
- 初玩 Google Web Toolkit by ericsk
- Google Web Toolkit的實作與活用 by 吉野 雅人 江川 崇 竹端 進
- Google Web Toolkit 新手常見問題 by Pesty
- The Google Web Toolkit (GWT): Using RPC to Access Server-Side Data
分類: Ajax · Java · google web toolkit · 程式設計