首頁 感想 行動開發 手機共通網頁基礎應用框架的存亡與否?
手機共通網頁基礎應用框架的存亡與否? 列印 填寫電子郵件
(0 位用戶參與評分, 當前平均得到 0 顆星星)
心得感想 / 行動開發 / Eddy Chang / 週二, 23 八月 2011 17:35

Android和iPhone是目前行動應用平台的兩大主流,其他還有很多,像是我們比較不熟悉的RIM、WebOS或是Bada,往後也有可能有新的Windows Mobile。本篇文章是在探討共通開發平台的可行性和未來發展性。

以Android和iPhone來說,學習這兩個平台上的應用程式開發,是兩回事,是非常的不同,不太可能用同一種觀念,或是同一種程式語言,或是框架的設計,就能通行於兩個平台。唯一的可能性在於目前存在於市面上的稱為"手機共通網頁基礎應用框架"(Multiple phone web-based application framework),這類框架的特色是基於新的網頁標準HTML5,以及符合各種支援HTML5或可以由瀏覽器存取手機功能的手機瀏覽器(一般是採用Webkit核心),所採用的程式語言或相關開發技術主要是Javascript、CSS和HTML三者。


共通開發框架或平台的觀念並不是只有在手機上出現,我思考在資訊界事實上經常出現共通的開發框架。在桌面作業系統中,我們有佔了最多市佔率的Windows,也有Mac和Linux,有一個共通的開發框架出現,即非常知名的Java,號稱可以「write once, run any way」,Java創造的不只是一個開發框架,它是一個創新的程式語言,在今天Android上所使用的程式語言即是Java,而且不只是在桌面作系統中,在伺服器系統上也有很多知名的軟體是使用Java開發。或許Java是一個特殊的例子,但它的確算得上是共通成功的例子。

在網頁開發的領域中,也存在太多"共通"的情況,許多Javascript開發框架,例如jQuery或Mootools,除了希望能簡化開發的方式,也有一個重要的目的,即開發出來的程式可以"共通"執行於不同的瀏覽器,這些框架解決了以往Javascript程式員需要學習不同瀏覽器的一般開發上的差異,現在只要使用同一種框架,在不同的瀏覽器上也可以達到同樣的效果。

HTML5也是一個"共通"的標準,這個標準的出現,可能支援更多新式的多媒體、儲存等功能,為了讓使用者和開發者多使用他們的產品,瀏覽器開發商不得不把這些標準的規格加到他們的瀏覽器中。

Javascript+CSS+HTML的行動平台開發方式,我的想法是它為網頁程式開發員和美術設計人員開了另一個門,是一個方便之門。使用原有的技術,可以更快速的進入行動應用的領域。雖然,有時候這些開發框架的廠商,也有自己獨有的設計方式和框架,需要花點時間學習。但這個使用的仍然有許多是根於原有的基礎而來的,而非跳到Java、Objective-C、或是.net的開發領域中。以我自己的經驗來說,學習原生的開發方式,不僅是要學習另一個程式語言而已,裡面還有許多為該手機平台所量身打造的框架和應用邏輯,換個簡單的說法,即使你是一個對Java語言熟練的程式設計師,Android開發仍然有許多設計框架或函式庫的是你從未見過的,還是得從基本的開始學起,學習的過程並不平坦。其他的手機平台也是類似的情況。更何況今時今日,手機的sdk的改版,每年度至少配合新手機上市,有個很大幅度的改版,每三個月到六個月,就有小幅度的改版,新的功能也是加得很快。

當然,這種共通的開發方式,是有其應用範圍和極限的,由於所有的這類程式是透過手機上的瀏覽器(Android和iPhone都是用Webkit的核心)來執行,自然會受到瀏覽器上的應用程式的限制。我們在這裡的比較表(Multiple phone web-based application framework)上可以看得到,有許多手機中的功能,例如撥打電話、照相、GPS、SMS和地理位置等功能,這樣的程式是否能夠也讀取或應用得到?答案是可以但不一定肯定的。我相信這是所有這些共通框架的提供商正在努力和解決的問題。

另一個是所有想用這種方式開發的人,想問的問題:「我可以用這種方式開發出一個程式,放到Android或是iPhone的App市集中,成為一個可以賣錢或免費的手機程式?」答案也是可以,但不一定是肯定的。以PhoneGap這套知名的共通開發框架來說,他推出了一個PhoneGap Build的線上打包程式的服務,就是準備要來作這件事,不過這項服務仍然不斷的在測試和修改中。另一套Appcelerator Titanium則是混合它的程式框架,轉成可以打包成原生(Native)的Android或iPhone的應用程式。聽起來不錯吧…用了你才知道,我剛所說的「這種共通的開發方式,是有其應用範圍和極限的」。而且,這些服務或打包套件,是這些廠商想要獲利的部份,通常不是免費的,這也是你需要額外花的成本,天下並沒有白吃的午餐。

另一個值得研究的問題,這種框架能吸引到很多網頁程式設計師或美術設計師的注目或使用嗎?我在最近的PhoneGap的介紹投影片中,看到了十分驚人的官方統計數據:總下載次數60萬,每月平均下載次數4萬多;目前已有2萬3千個APP使用他們的工具與框架產出(PhoneGap Build)。另一個Appcelerator Titanium框架,因為併購了知名的以Eclipse為基礎開發的程式開發工具 - Aptana,估計目前吸引的開發者就高達150萬,下載次數目前有74萬,已有2萬5千個程式用他們的工具產出(2011年8月,出處在此)。看了這樣的數字,你還會覺得只有少數人才會用這種方案嗎?

當然,我需要思考一個部份,什麼程式是可以在這個應用範圍之中,或是剛好可以派得上用場的?

簡單的台鐵、高鐵的交通時刻表小程式
網站整合的即時新聞小程式
地圖和美食的小程式

以上大概都是ok,也都能達到至少Android和iPhone一套寫完,差不多兩邊都可以用的情況

寫遊戲程式?…憤怒x
偉大的創新idea的程式…用手機xxx
需要運用大量硬體資源的程式…3D繪圖?
有高度安全性考量的程式…大企業的CRM、ERP?
和手機硬體或底層有關的程式…防毒軟體?
針對某個手機(尤其是新手機)的特殊功能的程式?

請還是回歸"原生"開發的寫法。

總結一下,網站的開發者仍然有另外的出路可以延申,手機共通網頁基礎應用框架在某些應用上,還是有派得上用場的地方。畢竟手機上網後,有許多內容的來源,還是以原來的網站為根基發展而來的。手機商也不會把這類的應用中斷,畢竟中斷這樣的應用,等於拒絕和目前為數眾多的網站資源,未來相信只會更多元化發展。


評論:

新增回應


驗證碼
更新

Tags: android | appcelerator | iphone | phonegap | titanium

關於我something about me

eddy

Eddy Chang

Joomla!台灣站長、資擘(股)軟體工程師

最新留言Latest Comment