最近,智能手机和平板电脑越来越成为更多计算机用户的选择,这让习惯用于PC应用程序接口的软件开发者面临新的挑战。尽管大多数软件开发者已经完成了这种转变,但是还有一些软件开发者正在为这些转变做准备。
Nokia论坛开发市场经理Anthony Fabbricino表示,尽管过去两年就有开发者开始关注移动开发了,但是还有大多数开发者在编写移动应用程序的时候缺少基础。大多数开发者都已经习惯了桌面系统。同时,Fabbricino表示,尽管编写应用程序可能很容易,但是创建“好的用户体验”却是另一回事。确实,移动设备和其更小屏幕意味着更重要的调整。开发者不再是对付8*12英寸或者更大的电脑屏幕了,他们需要对付的是2*2英寸的Android、iPhone或者黑莓屏幕。
黑莓全球联盟和开发者副总裁Tyler Lessard表示,尤其在智能手机方面,由于其屏幕尺寸限制,从某种程度上来说,每个像素都是要计算在内的。即使是iPad的7.3*9.5英寸的大屏幕也需要不同的考虑,因为其1024*768像素的分辨率相对于大多数桌面显示器还是小了。开发者还需要适应更小的键盘、触屏接界面和电池续航时间。
移动领域的专家包括供应商和开发者都建议开发者关注这个新的计算领域,从导航系统到屏幕大小,再到存储消耗。移动开发者特别是新人们应该对以下这八个方面给予高度的重视。
移动应用开发课程1:注重用户体验
Rhodes移动应用程序开发架构制造商Rhomobile公司首席执行官Adam Blum表示,第一个指导方针是减少导航,这样用户就可以很方便地直接找到他们想要的内容。例如,在CRM应用程序中,直接给用户展示内容而不是让用户从列表和任务中寻找。此外,试着采用用户上次使用的应用程序导航。
诺基亚曾经建立了基于塞班平台的智能手机,现在转入Windows Phone 7了,他们为屏幕图标提供了一些模板。Fabbricino表示,这些图标适合不同的屏幕尺寸。开发者必须注意与UI和应用程序逻辑的整合。开发者也不要忽略信息和用户互动。
移动应用开发课程2:注意内存和带宽限制
内存和带宽使移动设备的两大问题。Novell开发平台副总裁Miguel de lcaza表示,我们看到的移动开发和桌面系统的最大不同在于移动设备确实没有太多的内存。Novell公司为谷歌Android和苹果iOS应用程序提供工具支持。
尽管典型的PC可以有8GB的内存,但是智能手机可能只有128MB内存。所以,开发者下载100张图片都有可能会消耗完内存。而能够装下去100张图片的手机现在还不存在。但是开发者可以用具有更小分辨率的图片来代替大分辨率的图片。
de Icaza表示,网络连接对智能手机和平板电脑的限制在下载方面。应用程序开发者真的不应该通过请求图片让网络连接饱和。底线是:在内存、空间和电池寿命的参数范围内开发所有的应用程序。
移动应用开发课程3:慎重选择本地开发还是web开发
开发者必须决定是否利用本地资源构建应用程序,还是把应用程序下载到设备上或者通过移动操作系统的WebKit工具创建网页应用程序。如果选择后者,即使使用Webkit浏览器服务它们似乎依然是独立的应用程序。
RIM的Lessard表示,这就是大多数供应商在权衡的关键问题。基于网页的开发价格常常比较便宜,而且不那么复杂。但是,这个方法可能不能为用户传递他们需要的用户体验。例如:在网页开发中,本地服务和触摸界面可能是不足的。在网页开发中,很难通过触摸事件实现细粒度控制。
移动开发课程4:考虑如何利用位置
位置服务在智能手机上非常流行,这让开发者有新东西去思考。Lessard表示,在创建桌面或者网页应用程序的时候,利用位置并不是大多数供应商会考虑到的。但是位置服务让开发者可以为用户提供一个更好的定制体验,例如:在搜索应用程序中就可以知道用户所处的位置或者提供当地的相关资讯服务。为位置服务编程是非常简单的,开发者仅仅学习新的界面就行了。
移动应用开发课程5:依靠服务器端数据同步
合适的数据同步是非常关键的。诺基亚公司的Fabbricino表示,数据同步可以尝试依靠服务器端策略。开发者不要试图从移动端考虑同步,因为这样得到的是损坏的数据。同时,在设备上缓存数据也是数据同步的另一个选择。
移动应用开发课程6:设计和编码触摸界面
开发者和设计者为小设备创建各种应用程序的时候,必须控制触摸界面,这更多地需要需哦能个一个设计和UX角度来理解,而不是理解代码。开发者需要理解用户,然后把基本的触摸界面转变为编码语言。
移动应用开发课程7:不要过分依赖硬盘性能
手持设备越来越多地使用更快速的芯片,并开始支持图像处理器和硬件加速,加速动画渲染。但是Fabbricino告诉开发者不要过分依赖这些硬件:开发者要理解用户合适能够从体验中获得好处,并学会利用这些。例如:应用程序可以使用动画来支持屏幕转换。但是开发者必须小心不要通过过度或者非必要的processor-hungry技术降低应用程序速度。
移动应用开发课程8:预期用户犯的错误
移动设备和应用程序供应商联合测试公司主席Martin Wrigley表示,开发者还应该预期用户按错按钮。智能手机的小尺寸屏幕和大多数用户对触摸屏的不熟悉都可能会造成输入错误,所以应用需要是可以容忍错误的,而且可以帮助用户覆盖不必要的额外操作。