Any directions in few minutes
圖片來源:Simone Lovati


最近開發 Mobile App 已然成為顯學,連台北市政府都要開辦App應用程式設計班,其火紅程度不言可喻。
既然要著手開發 Mobile App ,首要面對的就是那爭論已久話題,到底要選擇哪種方式開發行動裝置上的服務。
是使用原生語言( Native App )來進行開發,還是使用Mobile Web技術來開發呢?
筆者覺得這個議題的答案是見仁見智的,不過現在若詢問我這個問題,我會回答兩者一起用。

我的理由如下:
1. App 在 App Store 上架後,其實也會形成一種入口與通路。使用者可以輕易透過這個入口接觸到服務提供者所要提供的服務,所以我會使用一個原生程式的框架來包裝 Mobile App 。
2. 儘管 HTML5 的功能強大,但目前市面上各式裝置的支援程度,坦白說還不是很一致,而且也沒有全面支援 HTML5 。要做到完全兼容各種設備,結果就是像針對不同瀏覽器開發網頁一樣,要考慮很多,重工的機會很大,甚至根本沒辦法用 HTML5 實作。例如最新的 Android Honeycomb 在 Google I/O 的展示中,已經支援 JaveScript 呼叫硬體鏡頭的功能,但是在 iOS 設備中的 Mobile Safari 目前並沒有支援,所以根本無法使用 JavaScript 作出呼叫鏡頭的功能。
所以我的看法是,如果要重工很多次,或是發生上述狀況,那我會選擇用原生語言的撰寫方式完成.
3. 如果要實作的功能,在跨平台上的網頁展現沒有多大的問題。我會傾向用原生語言中的 Webview 元件呼叫 HTML + CSS + JavaScript 的方式實作。根據我在 iOS 的開發經驗,不論是從原生程式呼叫 Webview 中的 JavaScript ,或是從 Webview 中的  JavaScript 傳遞資料給原生程式,這都是可實作的,完全沒有問題。
4. 第3點中 WebView 所載入的網頁內容,我想只要實作好也可以同樣在一般瀏覽器中使用,所以某種層度也達到了程式重覆利用的效果。

前陣子 Google I/O 2011 大會上,針對這個議題有一場專門的演講。有興趣的讀者可以觀看以下長度約1小時的影片,看看Google的觀點。

影片來源: GoogleDevelopers Channel

在這段影片中,有一張各種行動裝備對應開發語言的說明表格,如下表:

行動設備平台 建議使用開發語言
Android Dalvik 與 HTML5
iOS Objective-C 與 HTML5
Windows Phone 7 XNA/Silverlight 與 HTML5
BlackBerry Java 與 HTML5
WebOS Still 與 HTML5

想要開始開發 Mobile App 的讀者不妨參考看看。

arrow
arrow
    全站熱搜

    賽拉維‧柯南 發表在 痞客邦 留言(0) 人氣()