天天看點

移動開發架構的使用心得

我做移動應用開發有将近一年時間了,最初主要是使用Titanium開發移動應用,後來嘗試過PhoneGap,現在則主要是用XCode寫Objective-C和C代碼。下面總結一下開發的心得體會。

使用Titanium開發的優點

1.      官方宣稱是native的,即會把js代碼編譯成本地代碼,并運作。運作起來會比較快。

2.      支援比較多的移動平台,例如android,iphone,ipad。

3.      對于比較熟悉JavaScript的人來說,開發成本是比較低的。

4.      支援自定義子產品,實作架構中沒有的功能。

使用Titanium開發的缺點

1.      比較占用資源。所有的對象都是autorelease的,不能及時釋放不使用的記憶體。以至于有時候應用會莫名其妙的退出。應用太大之後,需要考慮優化問題,否則運作速度很慢。

2.      UI響應很慢。我曾經需要在UI中計算上一個label的高度,用以确定下一個label的top位置,在Titanium中需要使用延時來做,否則擷取不到正确的高度。

3.      UIToolbar的UIBarButtonItem沒有對應的實作,隻好用UIButton代替,這樣一來,就沒有高光效果、禁用效果,需要手動增加圖檔樣式。

4.      調試起來很麻煩。不支援斷點,并且全部編譯需要比較長時間,隻能在模拟器中以運作運作程式的方式來調試。

5.      建立UI界面比較麻煩。全部都使用代碼來生成,沒有類似于Interface Builder之類的工具。

6.      開發中遇到的bug很難改,尤其是該架構的bug,隻能等待官方解決。

7.      開發工具需要聯網登入,如果網絡不好登入失敗,則無法進入開發界面了。

關于PhoneGap

内置了一個WebKit核心的浏覽器,可以直接寫html代碼和JS代碼,加上使用jQuery Mobile等架構,就可以做出一個比較漂亮的界面了,并且支援調用本地的系統接口,例如進行資料存儲操作等。是以開發成本也是比較低的。不過處理的速度也不會很快,對于不同版本的WebKit核心,遇到的界面bug也會很難改。也支援自定義子產品,不過我覺得最大的優點就是支援很多的移動平台。對于手勢功能,貌似支援得不好。

使用XCode開發iOS移動應用。

開發成本比較高,需要有C語言基礎,還要學習Objective-C,開發出來的移動應用僅适用于iOS平台。不過代碼執行效率高,用熟了也還是挺不錯的。

可見,如果想要開發一個支援多平台的應用,并且對界面互動要求不高,可以使用PhoneGap;如果希望運作速度更快一些,相容性更好一些,可以選用Titanium。如果應用比較複雜,并且對品質要求很高,還是使用XCode來開發比較好。

繼續閱讀