
针对手机应用的开发者来说,开发一个手机应用与开发桌面计算机应用在语法上没有太大的差别,它们具有相同的表达式、运算符、操作符和相同程序流程控制方法。只是手机的应用程序开发平台针对手机的特性定义了一系列的应用开发框架以适应对应的硬件开发平台,而由于硬件性能环境的关系,这些框架大多都是桌面应用开发框架的一个子集。
作为手持设备的一种,手机之所以能够时时刻刻伴随着人们的生活,其最重要的特征就是便携性。也正是因为手机体积小,重量轻,还支持网络应用,能方便人们不受地域和空间的限制进行沟通交流,所以它拥有大量的客户群体,手机应用的潜在用户群体比桌面平台更为巨大。当然,由于手机硬件设备性能的限制,手机应用开发应该注意以下几点:
a) 图像和声音
较之于普通的桌面计算机,便携设备,尤其是手机的屏幕很小。虽然现在世界上的液晶技术取得了很大的突破,手机屏幕的分辨率即颜色数不断提高,图片清晰程度也接近于电脑显示器,但为了保证手机的便携性,手机的屏幕的面积不可能做得很大。另外,不同的手机型号,其屏幕大小也各不相同,这对手机应用的可移植性造成很大困难,开发人员或许需要针对不同的手机对自己的程序做出一定的修改和优化。
目前的手机扬声器,无论在频响范围,带宽,还是在输出功率等几个影响声音效果的决定因素上,都不足以满足人们对高质量音频的需要,只能在应用程序中实现有限的声音播放效果。
b) 用户交互方式
手机的体积决定了其不会存在桌面计算机键盘那么多按键,除了少数带手写触摸屏的手机外,也很难实现鼠标的操作方式,更为重要的是,目前的手机对组合式按键操作的处理能力有限。因此,手机应用的交互方式就不会类似传统个人计算机那么方便。开发人员在对手机应用进行设计的时候要充分考虑到用户的交互输入问题,例如,一个要求用户不断修改当前输入法的手机应用,用户是很难接受的。
c) 应用程序容量和性能要求
目前手机内部存储器只能提供较少的空间供外部应用程序使用,现有的手机操作系统也不能调用容量过大的应用程序,此外,对可运行的应用程序的大小还有来自于无无线网络提供商的其他限制。
手机的处理能力偏弱,应该在应用程序中避免过量的运算,导致程序不能成功执行或者执行速度过于缓慢。由于手机的特性,很多针对手机开发的软件都涉及到移动网络应用,而目前移动网络的带宽还不能和以太网和宽带互联网相提并论,因此,开发者在开发网络应用时应该充分考虑网络的负载。
此外,便携设备均使用电池供电,应用程序还应该考虑电力损耗,必须有合理的省电模式。
d) 手机应用具有可中断性
当需要接听、拨打电话或者接收、发送短信时,我们通常会中断进行中的应用程序,应用程序必须能够暂停和继续。这样的暂停不能导致应用程序出错,也不可以导致内存溢出,这些都是开发者在设计时应该与充分考虑的问题。