程序员2009精华本
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

移动十年

█ 文/李亮

光阴荏苒,数字移动电话普及到大家手中差不多已经有十年之久了,而我们早已觉得手机是生活中不可缺少的一部分。我还记得那个状似一块年糕的 MotorolaCD928+,那是我第一个手机,当时的价格是3000元左右。再看现在我用的iPhone,价格差不多,然而无论外观还是功能,都已有天壤之别。这十年是移动领域飞速发展的时代。在这个飞速发展的领域,我们有理由相信“明天会更好”。然而,回顾过去也是有益的,在《程序员》杂志100期这个有意义的时刻,就让我们先来回顾一下这十年来移动终端技术的发展历程,然后再稍稍展望一下未来。

原始阶段

这一阶段基本上从20世纪90年代末到2000年左右。本时期是各大厂商抢占市场份额的阶段。Motorola、Ericsson、Nokia、Siemens、Alcatel、Philips 等通信业的巨头们都在这个市场上拼命地争抢地盘。这是一个手机设备的战国时代。虽然 Motorola 带有来自于模拟移动电话时代的优势,然而,在一个新的时代开始的时候,过去的优势却未必能帮助其继续领先。手机软件技术方面,由于当时手机本身处理能力的限制,大部分都不是智能手机,少数可被称为操作系统的仅是专有的嵌入式系统而已。手机还停留在基本功能的阶段,虽然 T9已经在输入法上开始攻城掠地,也有一些诸如计算器之类的绑定应用出现,然而那都是OEM的产品。手机本身还不是一个成熟的开放平台。这个时期,手机基本不具有除了基本通信功能之外的计算能力。

起步阶段

这一阶段是从2000年到2003年。智能手机开始登场,智能手机操作系统开始出现。Nokia开始领先。

这一时期的智能手机技术热点是Nokia 的Symbian、Microsoft的WindowsCE 和Palm 的PalmOS。WindowsCE和PalmOS原先都是PDA上的系统。Symbian 的前身EPOC也是针对一种类似于PDA的设备Pison设计的。这三者在转向手机之前都已经有一个发展和成熟的阶段,因此,把它们向手机上转移也是顺理成章。只是后来智能手机的发展却基本消灭了PDA这块市场,这是题外话了。

这三家中,最先知先觉的还是 Nokia。2000年全球第一款Symbian手机即由Sony 和Sanyo联合推出,虽然那时还不是一个开放的手机平台,但是紧接着2001年Nokia 自己推出的Nokia9210就真正地宣布了智能手机开放平台时代的到来。SymbianOSv6.0也在这一年推出。Palm 这边,在2002年即由从Palm独立出去,后来又回归到Palm的Handspring 挟其在PDA 市场上的优势,推出了基于PalmOS3.5.2的Treo180。这是基于PalmOS的第一款手机,标志着Palm这一PDA巨头也开始转向智能手机领域了。Microsoft则如其在桌面系统上那样,惯于后发制人。WindowsCE 完全是眼馋当时Palm独大的PDA 市场研发的,而Windows Mobile(下简称WM)一直到2003年才出现,之前都被称为PocketPC。从名字就可以看到Microsoft 用WindowsCE针对的主要市场目标了。

这段时期Symbian 的发展可算是最快的。到2003年Symbian已经占有了66.6%的智能手机市场。

Sun 的J2ME 是这一时期的另一重要技术。在试图让Java 占领桌面的努力失败之后,Sun 重新划分 Java 产品线。以 J2ME 及下辖的各个 Configuration+Profile 定义了一个平台中立的软件环境,并且在随后的几年逐步成为中高端手机的必备配置。J2ME 也成为很多手机软件开发商的首选。可以说,Sun 的 Java 环境在除了桌面以外的地方都不同程度地取得了成功,这也是一个相当有趣的现象。不过Microsoft依然一如既往地不支持。

成熟阶段

这一阶段可以从2004年划分到2007年。明显特征就是Nokia基本控制了手机终端市场。经过前一时期在市场上和技术上的惨烈拼杀,Nokia成功塑造了自己全球手机第一品牌的形象,Symbian 也具有了掌握智能手机操作系统绝大部分份额的实力。

另一方面,PalmOS 却在不断地走向衰落。虽然Palm在2003年推出了支持多任务的PalmOS6.0,然而PalmOS本身的设计基础还是上个世纪的少量内存和弱CPU处理能力,导致了其OS相对缺乏一些这个时期所需要的能力。Palm 公司自身在经营策略上的问题,也造成了公司的种种分拆、收购等不利于 Palm 稳定成长的行为。以至于2005年9月,Palm都不再采用自己的PalmOS而改用WM作为其操作系统。这不能不说是一种悲哀。

Microsoft 依然在不紧不慢地走自己的路。相继推出的 WM 2003 SE、基于WindowsCE 5.0核心的WM 5.0、采用CE5.2核心的WM6。Microsoft的策略明显是想要把它在桌面上取得的成功沿用到移动领域,而其在API 上的一致性的确也吸引了很多Windows的开发人员。2005年,MS推出了.NET Compact Framework,进一步将其在桌面上的.NET 技术拓展到移动平台上。

此间还有一些基于诸如嵌入式Linux 等系统的手机出现,但基本都是小打小闹,无法形成抗衡之势。

新的变革

新的时代在2007年来临,其标志就是iPhone 的出现。硬件的发展已经使得移动设备的处理能力到达新高度,具备低端桌面系统的能力。Apple公司于2007年6月正式推出的iPhone,以其优秀的用户体验,以及功能与桌面系统几乎完全一致的操作系统,宣告了新时代的来临。事实上,iPhone 的操作系统,除了用户界面部分是针对手机重新编写,其余就是其桌面系统 MacOSX 的ARM移植。

随之,在当年11月,Google宣布了其开放源码的手机操作系统Android并推出了SDK。Android 以Linux 为核心,以Java 为开发语言,却使用自己的DalvikVM和dex 目标码格式,避开了Sun 的Java License 问题。Android以如此宽松的协议开放移动操作系统,给业界造成的冲击是前所未有的。众多的手机厂商可以完全利用Android的资源定制自己的系统,且不用受制于特定的操作系统厂商。另一方面,Android 作为一个应用开放平台,其完整性和功能的开放性也是很充分的。更值得一提的是, Android也是一个比起桌面系统来功能毫不逊色的系统。在2008年10月,随着第一个采用Android的手机T-MobileG1的上市, Google 正式释放出了所有 Android 的源码。这是一个历史性的时刻。

RIM的BlackBerry 系列手机提供的Pushmail服务在北美有巨大的优势。随着2008年的iPhone2.0宣布进军企业市场,这两者之间不可避免的有一场战争。而到了2009年1月,快被人淡忘的Palm又卷土重来。虽然还不知道什么时候上市,PalmPre的预演已经给了人们很大的期盼。基于Linux核心,采用HTML/CSS/Javascript 开发方式的WebOS可算是独树一帜。

在这个新的时代里,J2ME却似乎要被大家抛弃了。iPhone 和Android都不支持J2ME,BlackBerry 虽然支持J2ME/MIDP规范,其实现也是自己的,而PalmPre,我们还没有更多的信息。

相对于这些冲击,占有优势地位的传统操作系统厂商反应不一。Nokia应该是认识到了危机的。Symbian 系统固有的为小内存的设计已经有点跟不上硬件的发展了,因此,2008年 Nokia的一系列举动:完全收购 Symbian,宣布开放 Symbian 源码,成立Symbian 基金会,都是企图重振Symbian势力,希望Symbian继续辉煌。Microsoft 则相继推出WM 6.1(2007) 和6.5(2009),然而这两个版本不过只是一些小修补。遥遥无期的WM 7,目前还看不到影子呢。看来,Microsoft 又一次落后了。

未来会怎样?毋庸置疑,竞争会更加激烈。新的时代才刚刚开始,一定会有很多我们没有想到的厂商会出现,并带来更新更有诱惑力的技术。而未来,就是他们的战场。█