0.3 移动开发与传统PC开发的差异
本节视频教学录像:4分钟
对于广大开发者来说,最关心的是代码编写方面的差异。其实从写代码的角度来说,传统开发跟手机开发没有什么太大区别,区别在于传统开发代码比手机代码好用的多,手机相对比较小一点,相对规模单一点。从用户体验的重要性而言,对手机这样一个随身设备的要求比较高。对于现在比较流行的手持设备来说,整个操作因为都是用手来完成的,所以用户体验上的要求会比桌面软件高很多。桌面软件在很多层次上是一些非常简单的标准按纽,可以用鼠标点击。一般不用考虑太多,有一些多媒体考虑多一些,但是在手机应用上面,用户体验永远是考虑的第一重点。从操作系统层面,或者说操作系统服务型上差异来说,移动开发跟桌面操作系统没有太大差别。但是如果在这个操作系统上运行程序,在手机上还是受到比在桌面上更多限制,除了屏幕大小限制,内存大小、处理器速度等都是在写代码的时候必须要考虑的。因为手机很难达到现在桌面所能达到的处理能力以及内存使用能力。
从传统软件开发来说,和移动软件开发其实有很多相同的地方,对于一些编程的思路,例如如何精简代码,如何让自己的程序更加有效率,更加高效地运行,是非常非常重要的。但是,对于移动开发来说,这一点比传统软件开发更为重要,因为开发是在受限的条件下进行的。比如原来做传统软件开发的时候,主要考虑的是架构和框架,当选择好一个扩展性非常强的框架后,基本上所引发的性能问题都可以通过加台机器、加内存或加硬盘的方法解决。但是移动开发是在很小的手机上运行的,内存和处理器等硬件资源是有限的,此时就需要着重考虑效率的问题,考虑我们的编码会不会导致前台运行效率降低。
0.3.1 主要差异
从Android开发角度来说,和传统PC开发的主要差异如下所示。
(1)屏幕大小多种多样
Android开发需要面对的硬件屏幕大小是多种多样的,小的有3英寸左右,大的有5.5英寸,另外还有更大的平板产品。此时开发者需要充分考虑界面布局的问题,确保应用程序能够在不同屏幕上完整运行。而为传统PC开发的软件是在计算机上运行的,主流屏幕大小没有移动设备的繁多。
(2)更加注重运行效率
随着硬件技术的发展,传统PC机的配置越来越高,一般的应用程序都可以畅通无阻地运行。只有在并发性和访问性比较高的领域中,架构师们才会着重考虑程序的性能问题。而在移动设备领域中,尽管硬件配置也是逐年提高的,但是其配置还是远远落后于PC机,所以在开发任何Android应用程序时,一定要考虑程序的运行效率,尽力做到最高效。
(3)门槛更高
和传统PC开发相比,Android开发的门槛比较高,学好Android开发的最基本前提是先掌握传统PC开发的基本技能。例如Android应用开发不但要求掌握Java开发技术(这属于传统PC开发的技能),而且还需要学习Android所独有的控件、事件处理机制、传感器、媒体处理和通信等API。如果要进行Android底层和硬件方面的开发工作,需要十分精通C和C++技术,并且需要具备驱动移植方面的开发经验。
0.3.2 主流移动设备屏幕的分辨率
在当前的市面中,智能手机的屏幕尺寸主要包括如下的几种标准。
❑ 128像素×160像素
❑ 176像素×220像素
❑ 240像素×320像素
❑ 320像素×480像素
❑ 400像素×800像素
❑ 480像素×800像素
❑ 960像素×800像素
❑ 1080像素×1920像素
就手机的尺寸而言,Android给出了一个具体的统计,如图0-3所示。
图0-3 Android设备屏幕尺寸的市场占有率
由此可见,在目前市面中主要是以分辨率为800像素×480像素和960像素×800像素的手机用户居多。另外,作为另一种主流移动设备的平板电脑来说,它不仅拥有更大的屏幕尺寸,而且在浏览方式上也有所不同。例如,大部分平板电脑(以及一些智能手机)都能够以横向或纵向模式进行浏览。这样即使在同一款设备中,屏幕的宽度有时为1024像素,有时则为800像素或更少。但是一般来说,平板电脑为用户提供了更大的屏幕空间,我们可以认为在大部分平板电脑设备的屏幕尺寸为最主流的(1024~1280像素)×(600~800像素)。事实证明,在平板电脑中可以很轻松地以标准格式浏览大部分网站,这是因为其浏览器使用起来就像在计算机显示器上使用一样简单,并且通过Android系统中的缩放功能可以放大难以阅读的微小区域。