2012年5月22日 星期二

使用 Titanium 開發 android和iphone app心得


隨著andoir的改版進度
我對titanium dev on android越來越灰心
這裡面當然多少牽涉到原本的程式架構有點複雜的因素
不過多半的問題在於iphone與android的基本差別
另一個問題是Titanium只確定支援android 2.2

這裡面會牽涉到一些問題
android 4.0或更高版本是否支援Ti創建的APP?
在Ti中,怎麼用一套程式碼走遍android SDK 2.x -4.x甚至更高?
如果不行,這之間的支援怎麼解決?

如果你也要使用titanium進行開發
請盡量確保你的程式使用的元件夠基本、流程不要太複雜
盡量一次只使用一個畫面,使用適當的global var儲存資料
window open時才建立對應畫面展現(我這次有一半因素栽在這邊)
如果考慮使用相同layout, 在建立window時,就要考慮上方的navbar要怎麼在android中展現
//我想過建立一個custom winnow覆蓋title元件,不過下次再說吧
資料傳輸只牽涉到OSI前三層

不過以上條件如果全都達成
那做出來的app大概也沒啥特殊看頭,大概只會是專案app而不會是產品 XD
所以最好的作法可能會是在Ti中使用很嚴格的MVC架構,這樣才可能確保完整的移植性
可是能做到這點的人中,其中大部分的人轉學android或iphone可能也不會多花太多時間(有興趣的話..

如果讓我說,Titanium的用法應該是用來快速創建單一平台app
如果考慮要覆蓋多重平台,至少要把資料操作部分程式完全抽離
這樣就可以讓多重平台app使用同一套資料操作app,但使用各自的ui/controller方法
如果堅持要用同一專案,那至少可以使用不同的UI/control方法
放在同一個js中,判斷if android, 然後計算width/height並不會讓日子好過多少

Titanium在資料操作部分的程式轉換做得不錯,也整合的不錯
然後在前端ui部分,也許可以說是因為ios和android本身就有很大差距
但是用起來就是非常的不順暢!
當很順暢(隨便)的建立了單一平台app,然後想轉換到另一平台時
這UI的不同與相應產生的工作壓力所帶來的挫折感在這時最為明顯(例如此時的我 orz

沒有留言: