行動 網頁設計 無所不在

行動網頁設計是目前唯一的支持各種設備訪問的平台,與桌面web一樣,行動網頁設計支持各種標準的協議。行動網頁設計也是唯一一個可供開發者發佈移動應用的平台。它將各種移動交互與桌面任務有效地連接了起來。

行動網頁設計平台具有以下一些優點:容易學習,開發成本低、標準化、使用方便、易於發佈。我將這些優點歸結為無處不在原則:通常開發簡單而且市場廣泛的東西往往能夠取得成功。

「高 質量」也是成功的關鍵因素之一,而這一點行動網頁設計這些年還沒能做得很好。行動網頁設計在許多方面還存在一些困難,如解決設備的多樣性就是提升行動網頁 設計質 量的一個重大挑戰。但是,行動網頁設計遇到的困難遠沒有本機應用程式s遭遇的挑戰來得複雜。另外,這些挑戰將在這幾年的時間裡得到有效的解決。

眾所周知,我是行動網頁設計的擁護者;然而,我也是第一個承認本機應用程式重要性的人。開發本機應用程式可以充分利用設備的特性,而這一點往往是web瀏覽器做不到的,所以對一個產品本身而言,本機應用程式是最佳的選擇。

下面幾節將討論一下本機應用程式的一些主要功能。

什麼時候應該開發一個本機應用程式


為應用收費

沒有任何地方規定開發者不能對一個行動網頁設計 應用程式收取使用費,但是由於某些原因,人們常常認為不能或是不應該對一個網頁應用程式收取費用。由於歷史原因,導致移動設備上付費服務遭遇兩大阻力:


付款方式

在移動設備上輸入信用卡號相當麻煩,而且在許多老式設備上也沒有安全保障。一種典型的方式是,如果你需要對你的應用收費,你可以與運營商達成協議, 讓運營商代為為你的服務收費。這也意味着,你需要和多個運營商達成合作。這通常是首選的方法,因為許多手機用戶可能根本就沒有信用卡,比如青少年。

另一種方法是將用戶的信用卡訊息保存在一個安全的網站上。用戶可以通過登錄到該網站購買應用服務。這個過程不算特別理想,因為這意味着用戶不能直接通過他們的移動設備購買服務了。


強制分成

移動運營商是會提成的。應用程式無論是通過運營商還是通過移動設備發佈,他們都為應用提供了一套收費機制。這些運營商和移動設備將會提取部分收益, 然後將剩餘的部分交給應用開發商,這也意味着,開發人員必須遵守他們的市場規則。適應運營商的市場規則通常是非常困難的,需要投入大量的人力資源。相比而 言,移動設備的市場規則則簡單許多,但是也存在不少的困難。

妨礙運營商和移動設備開發商利益的應用以及服務都將受到阻擾。過去,那些不靠運營商和移動設備開發商運作的網站如果收入過於顯眼的話,都逃脫不了被關閉的命運,但是最近,這樣的事情鮮少發生了。

如果你想為你的本機應用程式收費,那麼你就必須接受這個現實——你必須遵守別人的市場規則,還得放棄部分收益。


開發遊戲

如果你是想開發一個移動遊戲(移動遊戲是移動市場上最大的一塊),那麼你需要開發一個本機應用程式。遊戲對資源的佔用很大,並且需要使用許多設備 API或平台API。雖然,現在有幾款完全使用web技術開發的遊戲佔有了一定的市場份額,但是和本機應用程式市場的佔有情況相比,還是微不足道的。遊戲 用戶對應用的視覺和操作效果要求很高。行動網頁設計雖然提供了一些仿真體驗,但還遠遠不能滿足用戶的需求。

在開發移動遊戲時,你需要慎重考慮你的應用需要支持哪些平台。幸運的是,現在有許多工具能夠幫助你將你的遊戲推向多個平台,但是完成這些工作,還是需要花費大量的人力和物力。


使用定位功能

下一個功能就是定位功能,可以通過GPS或者是信號檢測確定用戶當前的位置訊息。以前只能通過本機應用程式的APIs查看用戶的位置訊息,但現在大 多數主流移動瀏覽器上都嵌入了W3C Geolocation API。像iPhone或Android這樣安裝了WebKit的設備,或是配置了Opera或Mozilla瀏覽器的設備,都可以獲取用戶的位置訊息。

我相信定位功能會為Web技術帶來許多全新的應用。如果能夠合理利用web瀏覽器,web開發商就能使用用戶的位置訊息和其他內容開發出更加有趣的 應用。雖然這在技術上沒有太大的困難,但卻受到隱私保護條例的限制。我們將web瀏覽器當做是用戶進入World Wide Web的入口。加入定位功能,意味着在網站中引入了一些敏感訊息,這有可能導致嚴重的後果。但是位置感知應用中顯示的位置訊息必須經過用戶的授權,用戶當 然有權禁止應用發佈自己的位置訊息。


使用攝像頭

攝像頭可以為你的應用提供豐富的可能性。以往移動MMS(Multimedia Messaging Service)被用於處理移動照片。換言之,你拍了一張照片后,需要使用MMS將它傳送給一個服務器,服務器對照片做出相應的處理,並將處理完成的結果 通知給你。這個過程是非常耗時的,而且相當複雜,也沒有可靠性保障。

通過訪問攝像頭,本機應用程式開發者能夠簡化拍照的過程。用戶可以直接在客戶端對照片做一些簡單的處理,只有在有需要的時候才將照片上傳給服務器,而且是通過可靠的HTTP傳輸。W3C正在開發一個訪問攝像頭的API,但現在還沒有將這部分工作正式整合到瀏覽器中。

在許多類型的移動應用程式s中,攝像頭是非常有用的,比如快拍應用、短片拍攝應用等等,攝像頭可以用來捕捉許多重要的瞬間。不久的將來,我們可以看到——只要通過攝像頭拍攝某個標識,應用程序就能自動完成對標識上的語言轉換工作——這個技術在日本已經開始流行起來了。


使用感應器

現在越來越來越多的移動設備上都新增了感應器功能,該裝置可以感知設備的物理速度以及重力,並將感知的資料結果傳送給設備。這個裝置常被用來感應設置是否被翻轉,應用根據接受到的訊息自動調節畫面的方向。

感應器可以用來幫助用戶提升與設備交互時的真實感;大多數移動設備都是手持的,應用能夠根據設備的方向調整內容畫面,比如翻轉螢幕,或是檢測物理移 動,並能據此猜測用戶所處的環境。舉一個簡單的例子:比如用戶正在走路,那麼感應器能夠檢測到一個輕緩的移動或是速度,這時可以為用戶提供一個大字體的用 戶界面,從而使得用戶更容易看清螢幕上的內容。

然而,開發者也不能過分依賴感應器,因為感應器無法區分究竟哪些交互是有意的,而哪些是沒有意義的。每個移動交互都需要通過「傳輸測試」。設計你的 交互時必須考慮用戶在一個擁擠的汽車或是火車上的場景。考慮一下如果用戶正身處擁擠的地鐵或是正在駕車時,你的應用能否正確處理用戶搖晃移動設備的動作。 通常,大多數開發者都沒有考慮這些因素。確保為每個任務設計一個備用方案以處理特殊場景中的移動交互。


訪問文件系統

如果你的應用需要將資料保存在本地,那麼你需要開發一個本機應用程式。比如你要保存用戶的地址簿、電話或e-mail訊息,或是保存從其他設備上獲取的資料。

訪問文件系統常常會涉及到安全和用戶隱私保護的問題。惡意應用程序可能會修改或是刪除你的移動設備上的資料。一個攜帶病毒的應用程序可以利用移動設備上的關係網將病毒擴散到許多其他的手機上,在採用移動應用認證機制以前,這種事情是常常發生的。

另一方面,移動設備正變得越來越私人化,移動設備上保存了大量用戶的個人訊息,以及用戶的朋友訊息和商業訊息。針對這些私人訊息開發應用是一個不錯的想法。但是這也存在一定的風險,使用保存在移動設備上的資料可以為用戶提供更加有針對性的服務。

開發者必須謹記,只有在獲得用戶的授權后才能訪問用戶的私人資料。我們看到許多應用在沒有得到用戶授權的情況下使用了大量的用戶私人資料,而被誤認 為是垃圾訊息或是釣魚應用,即使這些應用原本是在提供一些非常有用的服務。人們對你的應用的誤解將會影響到你的服務的推廣,如果運營商收到過多關於你的應 用的投訴,那麼你的服務可能將被終止,甚至會牽連其他的應用。

訪問文件系統時至關重要的一點就是在沒有獲得用戶授權的情況下,不要訪問任何用戶的私人資料。而這一點,往往被大多數應用忽略了。

W3C正在為移動開發商開發相關的標準API,但目前該工作尚未完成。


離線用戶

最後一個需要開發本機應用程式的理由就是,用戶有可能是離線的或者無法接入移動網絡。這在城市可能很少發生,即使是在農村,網絡的覆蓋也已經逐步普及了。但是短暫的網絡連接中斷還是時常發生的,你的應用程序應該考慮如何處理這種情景。

想想用戶通常在什麼時候,在哪裡會使用你的應用程式。如果是一個移動遊戲,那麼用戶很可能在飛機上使用這個應用程式。跟蹤地圖應用常在偏遠且網絡覆 蓋不佳的地方使用。移動旅遊嚮導常在一個國外的網絡中訪問,往往需要支付漫遊和國際網絡費用。這時,應用程序最好能夠為用戶提供離線服務,保證用戶在不接 入網絡的情況下,仍然能享受同等的服務。

現在支持HTML5的瀏覽器也能實現脫機訪問功能,但對用戶來說可能不太明顯。隨着越來越多的瀏覽器都開始支持脫機訪問,應用需要明確地告訴用戶網絡連接中斷時,他們仍然可以訪問行動網頁設計 應用程式s。

本機應用程式s常常假設網絡連接是可靠的。應用程式通常只考慮了網絡狀況良好的情景,想當然地認為網絡是封閉的,並且網速足夠快。移動設備從網絡良 好的環境突然進入一個網絡糟糕的環境並不少見。本機應用程式s應該在網絡狀況最差的情況下測試。比如用戶啟動任務時可能還是全信號覆蓋,而在任務結束時可 能已經完全沒有網絡信號了。

用戶在安裝本機應用程式s時,根本不會考慮是在線訪問還是離線訪問——他們期望的是不管在任何狀況下,本機應用程式s都能正常工作。而這也是開發者的職責。


什麼時候應該開發一個網頁應用程式

只要你的應用程序不滿足之前提到的本機應用程式條件之一,那麼你就沒有必要開發一個本機應用程式,而應該選擇開發一個網頁應用程式。正如文章之前提 到的,我是一個本機應用程式的擁護者,我認為本機應用程式有許多優秀的特質,並且具有很大的市場潛力,但是網頁應用程式s是唯一一個經久不衰的移動內容、 服務、應用開發平台。

本機應用程式並不能明顯地為用戶提供更好的服務;它反而會增加項目的成本,減少了應用發佈的渠道,增加了應用程式升級的複雜度,削弱了開發者對應用 的控制和利潤, 並且可能會給設備帶來麻煩。本機應用程式可以為開發者帶來短期的效益,但這是有一定風險的,甚至可能會影響到移動市場的可持久發展。

移 動網頁應用程式的優勢在前文中已經提到過了。如果上一節提到的幾點功能是促成你選擇本機應用程式的唯一原因,那麼如果能夠在移動瀏覽器上屏蔽這些障礙,你 是否還會堅持選擇本機應用程式呢?Palm的webOS已經着手解決了上述的部分問題。他們基於WebKit構建了一個全移動操作系統,將手機變成了一個 web瀏覽器。所謂的 「本機應用程式s」實際上就是一個網頁應用程式s。

PhoneGap也是一個類似的項目,這個開源項目用於幫助開發者在 iPhone、Android以及BlackBerry設備上開發本機應用程式s,並且能夠模擬設備上的功能(如定位功能和文件系統)供網頁應用程式s調 用。這些代碼可以在各個設備的應用商店中發佈並且出售,但是他們使用的通用代碼和設計是可以共享的。由於開發的是一個網頁應用程式,開發者可以為低端的移 動瀏覽器開發一個簡化版的應用。只用開發一次,就可以部署在多個平台上了,

對於那些有着豐富的移動開發經驗的 程序員來說,一提到「要開發一個功能豐富的應用」時,可能首先想到的就是本機應用程式。雖然在很多設備上,這一想法仍然適用,但是現在行動網頁設計 應用程式s上也提供了足夠豐富的功能接口供開發者調用。這使得網頁應用程式不僅可以像本機應用程式一樣被設計得功能豐富界面絢麗,而且還能在各個平台上遷 移,甚至不用修改一行代碼。

現在在移動設備開發中,行動網頁設計 應用程式s的創新進入了前所未有的高潮時期。但更重要的是,這是有史以來第一次,移動設備開發商決定共同制定一個行動網頁設計開發的標準,就像是桌面 web上 的標準一樣。不僅如此,那些支持行動網頁設計 應用程式創新功能的設備或是支持第三方瀏覽器的移動設備都受到消費者的歡迎。

 


轉貼來源:Appchina 應用邦

http://www.piece2ec.com.tw/news.asp?ID=1920

 

 

 


參考文獻:

1.陳會安,2002,Java2 程式設計 範例教本,台北:學貫行銷股份有限公司。

2.黃中杰,2002,JAVA 與XML 技術手冊,台北:碁峰資訊股份有限公司。

3.楊宗誌,2002,JBuildert 程式設計實務,台北:文魁資訊股份有限公司。




arrow
arrow
    全站熱搜

    巨群資訊 發表在 痞客邦 留言(0) 人氣()