Symbian的衰落,絕不是因為Symbian落伍了。
首先,應(yīng)當(dāng)說,Symbian是一個優(yōu)秀的嵌入式系統(tǒng)。Symbian是一個實時操作系統(tǒng),是一個微內(nèi)核系統(tǒng),從設(shè)計的時候,就是為了能在有限的硬件資源和能源的環(huán)境下,長時間穩(wěn)定運行的。Symbian采取了許多措施,比如使用微內(nèi)核架構(gòu)、嚴(yán)格控制內(nèi)存泄漏、搶占式多任務(wù)調(diào)度等。Symbian使用的是Symbian C++進行開發(fā),有自己一套完整的開發(fā)框架和機制,約束開發(fā)者,保證系統(tǒng)的穩(wěn)定性和可靠性,提高系統(tǒng)的性能。
塞班衰落的原因并非如人們想象得那么簡單。
這些都是,Symbian的優(yōu)勢,同時也是Symbian的劣勢。在Symbian下進行應(yīng)用的開發(fā)難度是很高的,因為要寫一個高質(zhì)量的C++程序,確實不容易。
Symbian檢測到內(nèi)存泄漏,是會讓應(yīng)用程序崩潰的。避免內(nèi)存泄漏,這對于一般程序員來說,是一個不小的難題。
雖然Symbian本身有二階構(gòu)造函數(shù)、清除棧這樣的機制輔助開發(fā)者進行內(nèi)存管理和控制,但是這些都需要開發(fā)者對C++的內(nèi)存分配機制有一個比較清晰和深刻的了解,而大部分開發(fā)者,是不知道到底什么是棧什么是堆的。
因為工作在硬件資源有限的嵌入式系統(tǒng)中,Symbian的棧大小非常有限,所有的數(shù)據(jù)都要放到堆上,于是需要使用二階構(gòu)造函數(shù)。
還有那個蛋疼的Leave機制,基本上是對C++過于簡單的異常機制的簡單封裝,稍微不慎,就會出現(xiàn)內(nèi)存泄漏。
在微內(nèi)核機制中,許多東西都和我們平時的開發(fā)不一樣,大部分的系統(tǒng)功能都不在內(nèi)核中,需要連接提供該功能的模塊進行操作,這些模塊都是C/S模式的。
Symbian中不提倡使用多線程或者多進程,提倡使用調(diào)度器,進行搶占式多任務(wù)調(diào)度,我自認(rèn)為對于并發(fā)控制學(xué)得比較好,多線程工作的問題也能處理和發(fā)現(xiàn),但是對于這個搶占式多任務(wù)的流程,我真的足足花了一個禮拜才弄明白到底怎么回事。
因為上述原因,進行Symbian開發(fā)的門檻還是比較高的(相比于不需要關(guān)心上述所有問題的Java而言)。Symbian的機型非常多,使得Symbian上應(yīng)用的調(diào)試也比較麻煩,除了屏幕分辨率、鍵盤結(jié)構(gòu)、揚聲器數(shù)量、相機型號、閃光燈等因素,即使是同一款系統(tǒng),運行在不同機型上的系統(tǒng)也有細(xì)微的差別,所以往往要對眾多的機型進行適配。
除了不討好開發(fā)者以為,諾基亞在一些方面也是比較認(rèn)死理,比如手機就應(yīng)該不容易摔壞,手機信號就是應(yīng)該好。我一直覺得,這個是諾基亞遲遲不使用大尺寸電容屏的原因之一(當(dāng)然,大家常調(diào)侃的Q屏采購量過大沒用完可能也是)。即使到今天,摔不壞、信號好依然是諾基亞給大家的印象,難以磨滅。我們必須承認(rèn),這些都是對的,但是,這些也確實是不容易被人們注意到的方面。
Symbian S60 第三版開始,對應(yīng)用引入了簽名機制,只有有簽名的應(yīng)用才能安裝到機器上。有人認(rèn)為復(fù)雜的簽名機制是導(dǎo)致Symbian衰落的原因之一。其實簽名并沒有錯,iOS上一樣也是使用簽名機制,不也是好好的?錯的是當(dāng)時那個互聯(lián)網(wǎng)暫時還沒有普及到手機上的時候,人們過多的使用了盜版軟件,而我們也都知道,只有盜版軟件才需要進行復(fù)雜的簽名才能安裝到自己的手機上的。
至于操作系統(tǒng)的界面,這個我想不用我說太多,用過的人,不管懂行不懂行,都知道怎么評價。Symbian的界面要說很差我覺得不至于,時間太久了沒有什么變化,讓大家缺少新鮮感,然后直接敗給了又好看又好玩的蘋果。
在系統(tǒng)上,不討好開發(fā)者;在使用的時候,也不討好使用者,但是憑借多年的積累,Symbian還是穩(wěn)穩(wěn)的把握住了市場,當(dāng)時不是沒有其他的系統(tǒng),Windows Mobile、Palm、BlackBerry OS都是。但是Symbian因為定位能在性能比較差的機器上運行,諾基亞的智能機在性能、種類和價格上,以及Symbian平臺上的眾多的應(yīng)用,穩(wěn)穩(wěn)的壓倒了其他競爭者。
2007年iPhone剛剛出現(xiàn)的時候,不僅僅是諾基亞,全世界都覺得這是個笑話。一個不能換鈴聲、不能后臺運行程序,甚至就根本沒有第三方應(yīng)用的手機,怎么好意思稱作智能機,唯一的亮點,大概就是那個好玩的多點觸控的屏幕,和那個相比于Symbian將近十年不變的界面,相對好看的UI。
當(dāng)然后來,全世界都知道了,喬幫主在下一盤很大的棋,當(dāng)祭出AppStore這個大殺器的時候,所有的開發(fā)者都開始倒戈了。因為Symbian開發(fā)困難,還賺不到錢,蘋果上開發(fā)簡單,沒有盜版,能賺到錢。錢這個東西一來引誘,加上Symbian即不討好開發(fā)者,也不討好使用者,當(dāng)然也就沒有人擁護。
價格上,諾基亞從低端到高端全線都有,不過在高端市場(不含vertu),價格一直都很坑爹,旗艦級的機器往往都能5k+到6k+。蘋果也是跟運營商合作,通過套餐,讓iPhone的使用成本跟別的機器基本沒有區(qū)別。正好手機壞了,幾百刀買一個iPhone,幾年的合約,還不見得比別的手機貴,還好玩,為什么不呢?