我的便携式编程之路

手持电脑的历史可能比你想的还要悠久。iPhone不久前才登上历史舞台,并成了衡量时尚与否的标准,很多人都认为它开启了手持电脑的历史。

但从20世纪70年代末起,笔者就一直在使用类似的手持设备。

Sharp PC-1210是我接触到的第一台可称之为手持电脑的设备,它装备了单行显示器和QWERTY键盘,支持BASIC编程。这是我一位表亲的,当时我很想有一台这样的设备尝尝鲜。

我不确定我想使用它来做什么——也许是在D&D 中随机选择战役,但从那时起,我开始着迷于娇小可爱的手持设备,这种爱好一直保持到现在。

Apple Newton于1987年面世,骄傲地宣称支持手写识别,我饶有兴致地关注着,也见证了它的没落,它成了广告宣传的牺牲品——宣传与实际功能严重不符。然而,这可能是我见到的第一款平板电脑。

大约在1996年,PalmPilot面世了,我买了一部,它至今还在我家里。Palm也支持一定的手写识别,但实现的功能远没有Apple Newton那么多,因此性能非常好。

我很喜欢Palm。设计师从Newton的彻底失败中吸取了教训,将重点放在使用当时的技术可实现的功能上。相对于笔记本电脑,手持电脑必然是一种功能有限的设备。当今智能手机的计算能力超过了NASA将人类送上月球时拥有的计算能力,但在内存、处理能力、屏幕大小等方面,根本不可与台式机同日而语。鉴于智能手机的特性,也许永远都将如此。

因此,设计Palm OS时,并未试图使其全能,而是假定有PalmPilot的人都有计算机,因此将需要大量处理能力和存储空间的功能都留给了计算机,并重点优化用户实际使用的功能。PalmPilot还带来了新名词“个人数字助理”(PDA),它表示所有类似于PalmPilot的设备。

进行移动设备编程时,需要牢记的重点是,确保简洁、避免面面俱到并将重点放在可用性上。请注意这一点,后面的小测验将涉及这方面。

随后出现了Psion等设备,我购买了几部。Psion很好,它配置的键盘很小,但功能齐备,几乎可以盲打。Psion使用一种独特而简单的编程语言,运行的是Symbian操作系统。有趣的是,虽然Psion早已被淘汰,Symbian OS却活了下来,还在Nokia手机中活得很滋润。

随后,我购买了另一款手持设备——LifeDrive,它是一种PDA,几乎与iPhone一样薄。它支持Wi-Fi和蓝牙,采用触摸屏,自带丰富的应用程序,配置4GB存储器。事实上,除了没有内置电话,它与现代智能手机几乎差不多,而面世时间却早了5年。

移动设备的另一个分支是手机。

20世纪80年代末,公司在我的车上安装了车载电话,旨在将无法联系到我的时间限定在5分钟内。

20世纪90年代初,我购买了第一部手机。从此以后,我每隔几年就换部新的,而手机也越来越智能,屏幕越来越大,功能越来越多:地址簿、日历、计算器、游戏等。

再后面的情况你都知道了。从那以后,手机和PDA一直在相互借鉴,直到智能手机面世,它们才融为一体。 当然,从20世纪中叶开始,就有其他常用的小型移动设备;如果算上相机,移动设备的历史就更长了(如果将手表也算上,其历史有几个世纪)。

晶体管收音机、计算器、相机、手表、随身听、MP3播放器、DVD播放器、GPS导航器、电子图书阅读器,它们的功能逐渐被融入到PDA或手机中,而现在PDA和手机也融为一体了。

同样,这种趋势也不像很多人认为的那样是新出现的。十年前,Kyocera 6035 (一款使用Palm OS的手机)就将手机和PDA融为一体了,Treo、Blackberry和各种Windows CE平台亦如此。

但这些设备的用户群主要是时髦的年轻主管和坚定的技术狂。归根结底,这些设备太贵了,功能却无法与专用设备媲美。

随着Apple发布iPhone,一切都融合在了一起。智能手机的功能、价位和市场推广使其成了必备的大众热销品。

还有一类移动计算设备没有说到,那就是笔记本电脑。我使用的第一台笔记本是KayPro II,那是1982年的事了。这款笔记本电脑采用CP/M Z80处理器,配置了两个软驱,自带阴极射线管显示器。它不是笔记本电脑,而是“手提”电脑,因为它有把手,只要你足够强壮,就可以随身携带它。

我使用的第二款笔记本电脑是Commodore-SX64,它装在盒子内,备有软驱、5英寸显示器和把手,在我看来非常轻巧。

随后出现了真正的笔记本电脑,且功能日益强大、体积越来越小、电池续航时间越来越长。大约五六年前,出现了采用触摸屏的笔记本电脑,它们虽然漂亮,却并未引起轰动。

几年前,我购买了第一台上网本,这是一款采用固态驱动器的超小型笔记本电脑。我一直将其作为移动设备使用,直到不久前购买了HTC Desire Android手机。

随后,Apple发布了iPad,它基本上是iPhone的放大版,配置了更大的屏幕,填补了笔记本电脑和智能手机之间的市场空白。

这将移动设备分成了相互补充的两类:智能手机和平板电脑,前者可装入口袋,后者也算轻便、易于携带,而且其屏幕和外围设备让你能够完成重要的工作。

Android横空出世

从技术上说,iPhone和iPad无可挑剔,但它们的缺点是不支持开源。事实上,很多人都对Apple智能手机不开源一事颇有微词。

另外,正如前面说过的,智能手机的历史并不短,且至少有3款移动操作系统得到了市场的认可,因此iPhone不久就面临着竞争。

2005年,Google收购了创建于2003年的Android公司。iPhone发布仅两个月后,即2007年11月,开放手机联盟(Open Handset Alliance)成立了,Android平台也于当日发布。开放手机联盟由众多公司组成,成员包括Google、摩托罗拉、HTC以及其他许多手机制造商和运营商。

Android基于Linux内核,基本上是开源的(有些例外)。Android应用主要是使用Java编写的。Android版Java运行在专门针对手持设备进行了优化的Dalvik虚拟机上。

时间飞逝,到2011年(我称为现在),出现了一些Android平板电脑,但仅就操作系统而言,它们基本上只是放大版的移动电话。直到Android 3.0(Honeycomb)发布后,Android才能充分利用平板电脑丰富的功能。

这正是笔者编写本书的意义所在。

——摘自《Android 平板电脑编程基础教程》