自從2002年以來,S60也經(jīng)歷了3年多的發(fā)展歷程,出現(xiàn)了數(shù)個版本:第1版(如7650),第2版(如6600),第2版FeaturePack1(如7610),第2版FP2(如6681),第2版FP3(如N70),第3版(如3250)。在第2版FP3及其以前的版本中,雖然每次升級都會引入一些兼容性問題,但主要軟件(本文指的是以.sis為擴展名的S60軟件包,不包括Java軟件)是大體可以通用的。其中第1版到第2版的升級的兼容性破壞的相對嚴(yán)重一些,但尚可接受。
但是用戶一旦購買了即將上市的使用S60第3版的手機就會發(fā)現(xiàn),現(xiàn)有的支持S60第1,2版的第三方軟件竟然沒有一款能夠在新手機上運行了,甚至安裝都不行。這類手機包括3250、N71、N80、N91、N92、E60、E61、E70,以后會更多?粗謾C屏幕的熟悉的S60界面,用戶可能很茫然。誠然,S60第3版的顯示界面和前兩版的很類似,主要有了下列幾項改進(jìn):多種分辨率、橫向縱向屏幕的支持(并不是導(dǎo)致兼容性的根本原因,想想N90),卷滾條由底部菜單的箭頭改為右側(cè)的一條線,九宮格圖標(biāo)改為3x4,正在運行的程序在九宮格對應(yīng)圖標(biāo)的右上角顯示一個小圓圈……。然而,藏在基本相同的用戶界面底下的,是操作系統(tǒng)的前后不同版本之間的巨大的差異。
S60第1版使用了Symbian 6.1版操作系統(tǒng),第2版和第2版FP1使用了Symbian 7.0s,第2版FP2使用了Symbian 8.0a,第2版FP3使用了Symbian 8.1a,第3版使用了Symbian 9.1(注意不要把Symbian 9操作系統(tǒng)和S90手寫屏平臺混淆,這是兩個不同的概念。基于S90平臺的手機只有7710,它使用了Symbian 7.0s操作系統(tǒng))。因為Symbian自從版本9以后引入了許多嶄新的特性,使得它和以前版本的兼容性遭到了徹底的破壞。也就是說,S60的兼容性問題是其底層的Symbian操作系統(tǒng)導(dǎo)致的。在此給出帶來兼容性問題的3個主要新特性:
(一)開發(fā)Symbian 8.1a及以前版本的工具中,編譯器使用的是gcc for ARM。9.0及以后版本使用的編譯器是支持ABI標(biāo)準(zhǔn)的RVCT。誠然,使用RVCT使得在相同的硬件條件下,新的系統(tǒng)速度更快、更省內(nèi)存。但是,兩者編譯產(chǎn)生的可執(zhí)行文件和DLL文件的格式有諸多不同,是導(dǎo)致系統(tǒng)兼容性問題的最主要原因。
(二)Symbian 9.0及以后的版本引入了新的系統(tǒng)安全模型。因為越來越多的個人信息(如電話簿、商業(yè)機密文檔)會被保存在智能手機中,防止惡意軟件或病毒竊取這些信息或者耗費用戶通信費用很有必要。用戶會注意到,以前的系統(tǒng)中安裝的某個軟件的所有文件都會存儲在\system\apps\xxx目錄下。Symbian 9.0及以后的系統(tǒng)中,某個軟件中的不同文件會存放在不同的目錄。可執(zhí)行文件(.exe,以前是.app)被統(tǒng)統(tǒng)放在\sys\bin下,資源文件被統(tǒng)統(tǒng)放在\resource下,每個軟件的所有私有數(shù)據(jù)被放在\private\<軟件安全號>目錄下,其他目錄是供所有軟件共享的目錄。其中\(zhòng)sys\bin和\resource用戶不能更改,可執(zhí)行文件只能由安裝程序復(fù)制進(jìn)去。\private\<軟件安全號>只能由軟件安全號所對應(yīng)的軟件訪問?蓤(zhí)行文件引入了能力模型。取得某些能力,例如訪問用戶的電話簿、發(fā)送短信、修改手機設(shè)置等,需要讓可執(zhí)行文件獲得Symbian公司或者諾基亞公司的數(shù)字簽名。系統(tǒng)還具備可執(zhí)行文件防纂改功能,安裝經(jīng)過修改的軟件包,或者用讀卡器修改存儲卡的\sys\bin目錄,會被Symbian系統(tǒng)發(fā)現(xiàn)。引入這些性特性,使得系統(tǒng)的安全性大大提高,各種私人數(shù)據(jù)可以放心的保存在手機中。但是系統(tǒng)安全模型的引入,是導(dǎo)致系統(tǒng)兼容性問題的另一個重要原因。
(三)Symbian 8.1a及以前版本全部使用了EKA1核心,9.0及以后版本使用了EKA2核心。EKA2全面改進(jìn)了EKA1的任務(wù)調(diào)度算法,完全支持實時性。實時性是支持某些高帶寬、高優(yōu)先級的任務(wù)對系統(tǒng)的基本要求。這些任務(wù)包括VoIP網(wǎng)絡(luò)電話、高速率的視頻在線點播。EKA2還可以利用最新的CPU特性。但是,EKA2和EKA1的一些區(qū)別導(dǎo)致了少量兼容性問題的出現(xiàn)。
因為這些新特性會導(dǎo)致S60第3版和先前版本的徹底的不兼容,所以Symbian和諾基亞在引入這些特性前肯定做了許多權(quán)衡。最后決定,為了Symbian和S60系統(tǒng)長遠(yuǎn)的發(fā)展,例如支持VoIP、支持在線的MP4高速解碼和回放、支持商務(wù)人士對應(yīng)用軟件的安全性要求,忍受軟件兼容性的陣痛是值得的。另外,諾基亞已經(jīng)承諾,S60的第4版會和第3版保持兼容性。
為了讓自己的軟件能夠在S60第3版平臺上運行,各軟件商必須修改自己的軟件,推出支持S60第3版的新版本。好在這個工作并不費力,對源代碼作很少量的修改,用前面提到的新編譯器編譯一下,測試通過后新版本隨即誕生。我估計新手機面世后,用于S60第3版的軟件會馬上大量出現(xiàn)。另外,基于前面的原因,支持S60第3版的新版軟件也不能在現(xiàn)有的S60的第1,2版手機上運行。所以以后各個第三方軟件可能會并列開發(fā)兩個版本,一個用于S60第1,2版,一個用于第3版。但S60第3版絕對是諾基亞今后的發(fā)展重點,以后新出的S60手機基本都是第3版的,S60第1,2版的市場會逐漸消亡。而且S40的市場也會萎縮,只用于最低端的手機。S60第3版會成為今后幾年內(nèi)諾基亞手機的最主要平臺,涵蓋中低端和高端手機。所以不用擔(dān)心S60第3版的前途。