天天看点

移动开发框架的使用心得

我做移动应用开发有将近一年时间了,最初主要是使用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来开发比较好。

继续阅读