自从2002年以来,S60也经历了3年多的发展历程,出现了数个版本:第1版(如7650),第2版(如6600),第2版FeaturePack1(如7610),第2版FP2(如6681),第2版FP3(如N70),第3版(如3250)。在第2版FP3及其以前的版本中,虽然每次升级都会引入一些兼容性问题,但主要软件(本文指的是以.sis为扩展名的S60软件包,不包括Java软件)是大体可以通用的。其中第1版到第2版的升级的兼容性破坏的相对严重一些,但尚可接受。
但是用户一旦购买了即将上市的使用S60第3版的手机就会发现,现有的支持S60第1,2版的第三方软件竟然没有一款能够在新手机上运行了,甚至安装都不行。这类手机包括3250、N71、N80、N91、N92、E60、E61、E70,以后会更多。看着手机屏幕的熟悉的S60界面,用户可能很茫然。诚然,S60第3版的显示界面和前两版的很类似,主要有了下列几项改进:多种分辨率、横向纵向屏幕的支持(并不是导致兼容性的根本原因,想想N90),卷滚条由底部菜单的箭头改为右侧的一条线,九宫格图标改为3x4,正在运行的程序在九宫格对应图标的右上角显示一个小圆圈……。然而,藏在基本相同的用户界面底下的,是操作系统的前后不同版本之间的巨大的差异。
S60第1版使用了Symbian 6.1版操作系统,第2版和第2版FP1使用了Symbian 7.0s,第2版FP2使用了Symbian 8.0a,第2版FP3使用了Symbian 8.1a,第3版使用了Symbian 9.1(注意不要把Symbian 9操作系统和S90手写屏平台混淆,这是两个不同的概念。基于S90平台的手机只有7710,它使用了Symbian 7.0s操作系统)。因为Symbian自从版本9以后引入了许多崭新的特性,使得它和以前版本的兼容性遭到了彻底的破坏。也就是说,S60的兼容性问题是其底层的Symbian操作系统导致的。在此给出带来兼容性问题的3个主要新特性:
(一)开发Symbian 8.1a及以前版本的工具中,编译器使用的是gcc for ARM。9.0及以后版本使用的编译器是支持ABI标准的RVCT。诚然,使用RVCT使得在相同的硬件条件下,新的系统速度更快、更省内存。但是,两者编译产生的可执行文件和DLL文件的格式有诸多不同,是导致系统兼容性问题的最主要原因。
(二)Symbian 9.0及以后的版本引入了新的系统安全模型。因为越来越多的个人信息(如电话簿、商业机密文档)会被保存在智能手机中,防止恶意软件或病毒窃取这些信息或者耗费用户通信费用很有必要。用户会注意到,以前的系统中安装的某个软件的所有文件都会存储在\system\apps\xxx目录下。Symbian 9.0及以后的系统中,某个软件中的不同文件会存放在不同的目录。可执行文件(.exe,以前是.app)被统统放在\sys\bin下,资源文件被统统放在\resource下,每个软件的所有私有数据被放在\private\<软件安全号>目录下,其他目录是供所有软件共享的目录。其中\sys\bin和\resource用户不能更改,可执行文件只能由安装程序复制进去。\private\<软件安全号>只能由软件安全号所对应的软件访问。可执行文件引入了能力模型。取得某些能力,例如访问用户的电话簿、发送短信、修改手机设置等,需要让可执行文件获得Symbian公司或者诺基亚公司的数字签名。系统还具备可执行文件防纂改功能,安装经过修改的软件包,或者用读卡器修改存储卡的\sys\bin目录,会被Symbian系统发现。引入这些性特性,使得系统的安全性大大提高,各种私人数据可以放心的保存在手机中。但是系统安全模型的引入,是导致系统兼容性问题的另一个重要原因。
(三)Symbian 8.1a及以前版本全部使用了EKA1核心,9.0及以后版本使用了EKA2核心。EKA2全面改进了EKA1的任务调度算法,完全支持实时性。实时性是支持某些高带宽、高优先级的任务对系统的基本要求。这些任务包括VoIP网络电话、高速率的视频在线点播。EKA2还可以利用最新的CPU特性。但是,EKA2和EKA1的一些区别导致了少量兼容性问题的出现。
因为这些新特性会导致S60第3版和先前版本的彻底的不兼容,所以Symbian和诺基亚在引入这些特性前肯定做了许多权衡。最后决定,为了Symbian和S60系统长远的发展,例如支持VoIP、支持在线的MP4高速解码和回放、支持商务人士对应用软件的安全性要求,忍受软件兼容性的阵痛是值得的。另外,诺基亚已经承诺,S60的第4版会和第3版保持兼容性。
为了让自己的软件能够在S60第3版平台上运行,各软件商必须修改自己的软件,推出支持S60第3版的新版本。好在这个工作并不费力,对源代码作很少量的修改,用前面提到的新编译器编译一下,测试通过后新版本随即诞生。我估计新手机面世后,用于S60第3版的软件会马上大量出现。另外,基于前面的原因,支持S60第3版的新版软件也不能在现有的S60的第1,2版手机上运行。所以以后各个第三方软件可能会并列开发两个版本,一个用于S60第1,2版,一个用于第3版。但S60第3版绝对是诺基亚今后的发展重点,以后新出的S60手机基本都是第3版的,S60第1,2版的市场会逐渐消亡。而且S40的市场也会萎缩,只用于最低端的手机。S60第3版会成为今后几年内诺基亚手机的最主要平台,涵盖中低端和高端手机。所以不用担心S60第3版的前途。