新聞中心

EEPW首頁(yè) > 專(zhuān)題 > “自主”手機(jī)操作系統(tǒng):如何判定及怎么做

“自主”手機(jī)操作系統(tǒng):如何判定及怎么做

作者:魏永明 時(shí)間:2012-11-30 來(lái)源:電子產(chǎn)品世界 收藏

  四、如何開(kāi)發(fā)“自主”操作系統(tǒng):目的、策略和方法

本文引用地址:http://butianyuan.cn/article/139576.htm

  目的

  開(kāi)發(fā)“自主”操作系統(tǒng)的主要目的有兩種:一種是想再造一個(gè)類(lèi)似、i的操作系統(tǒng),并作為其競(jìng)爭(zhēng)者;一種僅僅是為了在商務(wù)談判和合作中獲得一個(gè)比較好的籌碼。當(dāng)然,還有一種目的就是騙取政府的財(cái)政支持,對(duì)這類(lèi)不良目的,不屬本文討論范圍。

  我們先猜度一下國(guó)內(nèi)外這幾年出現(xiàn)的一些“自主”操作系統(tǒng),其目的是什么:

  Firefox :這是Mozilla公司推出的純粹基于HTML5/CSS3/JavaScript等網(wǎng)頁(yè)前端開(kāi)發(fā)技術(shù)推出的操作系統(tǒng),和HP收購(gòu)自Palm的web有類(lèi)似的軟件架構(gòu)。HP收購(gòu)了webOS之后的半年,即宣告放棄webOS,而Mozilla卻希望通過(guò)類(lèi)似技術(shù)的Firefox OS成為的競(jìng)爭(zhēng)者。一會(huì)兒我們分析下為什么Firefox OS要比webOS有更強(qiáng)一些的生命力。

  華為提出要開(kāi)發(fā)的“自主”操作系統(tǒng):作為一個(gè)智者,任正非不可能不知道一個(gè)真正“自主”的操作系統(tǒng)應(yīng)該是什么樣子的。華為就算再有錢(qián),再有人才,短時(shí)間內(nèi)也是搞不定一個(gè)“自主”操作系統(tǒng)的(如前所述,主要是建立對(duì)應(yīng)的生態(tài)系統(tǒng)太難了)。這么說(shuō)來(lái),華為開(kāi)發(fā)“自主”操作系統(tǒng),其目的其實(shí)就是做一個(gè)“備胎”,以便在和、Windows Phone等合作時(shí)能夠有一個(gè)可以討價(jià)還價(jià)的砝碼。也就是說(shuō),華為并不是真的要做“自主”的操作系統(tǒng);或者這么說(shuō),支持團(tuán)隊(duì)去做,做成Android那樣最好,做不成Android那樣,如果真有一天打起架來(lái)可以湊合用也行。

  阿里云OS:馬云同志的野心很大,他做阿里OS,就是要復(fù)制谷歌在移動(dòng)互聯(lián)網(wǎng)的商業(yè)模式,進(jìn)而在移動(dòng)互聯(lián)網(wǎng)領(lǐng)域推廣阿里體系的服務(wù)和內(nèi)容??上У氖?,馬云貌似不太懂技術(shù),也沒(méi)個(gè)明白人給他做參謀,結(jié)果花了錢(qián)還被人捏住了七寸。最新的消息,阿里云OS獨(dú)立運(yùn)行,再投個(gè)2億美金繼續(xù)搞。馬云同志啊,光有錢(qián)是不行的,你身邊還得有個(gè)把技術(shù)大牛幫你把關(guān)、出謀劃策才行啊。

  策略

  好,面對(duì)這兩種開(kāi)發(fā)“自主”操作系統(tǒng)的目的,應(yīng)該有什么樣的策略呢?其實(shí)策略很簡(jiǎn)單,不管你是真心還是假意,都應(yīng)該按照本文第三章給出的“自主”操作系統(tǒng)之特征進(jìn)行開(kāi)發(fā),除此之外,別無(wú)他法。任何期望找捷徑的方法,都不可能獲得成功。這里所說(shuō)的找捷徑的方法具體有:

  ·給Android整容。如OMS、阿里OS。

  ·忽略操作系統(tǒng)中生態(tài)系統(tǒng)的重要性,在Linux或其他開(kāi)源操作系統(tǒng)內(nèi)核、系統(tǒng)庫(kù)等基礎(chǔ)上包裹一個(gè)簡(jiǎn)單的框架而形成的操作系統(tǒng)。這種操作系統(tǒng),其復(fù)雜度和Linux發(fā)行版相當(dāng),離本人定義的真正“自主”操作系統(tǒng)還差十萬(wàn)八千里。讀者可能會(huì)問(wèn),這樣的系統(tǒng)做備胎不是還行嗎?為什么也得按照真做那樣開(kāi)發(fā)呢?你要知道的是,對(duì)手也不是傻子,人家看你的架勢(shì),就知道你不是真做——你起碼得拉出真做的架勢(shì)來(lái),人家才能怕你啊!

  順便談?wù)勎覍?duì)基于瀏覽器技術(shù)的web操作系統(tǒng)的看法。

  理論上講,瀏覽器可以做很多事情,甚至可以替代PC機(jī)上的通用操作系統(tǒng)。但是,最新的瀏覽器技術(shù)(HTML5/CSS3等),還存在一些技術(shù)上的問(wèn)題。主要的問(wèn)題有如下兩個(gè):

  ·瀏覽器主要采用的JavaScript編程語(yǔ)言,本質(zhì)上是一種難于管理(源代碼保護(hù)、無(wú)法進(jìn)行有效的軟件架構(gòu)設(shè)計(jì)、難于調(diào)試等等)的編程語(yǔ)言,同時(shí)內(nèi)存消耗巨大,性能不佳。最新的說(shuō)法是,F(xiàn)acebook創(chuàng)始人直言全面采用HTML5的策略是個(gè)失誤,正在向操作系統(tǒng)的原生應(yīng)用轉(zhuǎn)移。也就是說(shuō),JavaScript語(yǔ)言難以承載一個(gè)良性發(fā)展的生態(tài)系統(tǒng)。

  ·因?yàn)樵S多原因(主要是利益和政治因素),HTML5相關(guān)的標(biāo)準(zhǔn)有分裂的跡象,同時(shí)進(jìn)展緩慢。

  HTML5技術(shù)作為原生應(yīng)用的一種補(bǔ)充,可以起到很好的作用,但是,如果要想在瀏覽器技術(shù)上建立一個(gè)真正可以和Android等競(jìng)爭(zhēng)的操作系統(tǒng),恐怕還需要很長(zhǎng)的時(shí)間(技術(shù)上必須有突破)。要不然,谷歌現(xiàn)在主推的應(yīng)該是ChromeOS,而不是Android。

  現(xiàn)在回答剛才提到的問(wèn)題:為什么Firefox OS可以比webOS的生命力更長(zhǎng)久些?主要的原因是,F(xiàn)irefox OS是開(kāi)源的,有比較強(qiáng)大的企業(yè)在主導(dǎo)其發(fā)展,作為一個(gè)脫胎于開(kāi)源基金會(huì)的企業(yè)(Mozilla公司),也能獲得合作伙伴的一些好感;相反,因?yàn)閣ebOS是封閉,HP又沒(méi)有能力像蘋(píng)果那樣打造一個(gè)完全封閉的平臺(tái)和生態(tài)系統(tǒng),所以最終的命運(yùn)是被人拋棄了。雖然后來(lái)webOS也走上了開(kāi)源的道路,但大勢(shì)已去,HP不親自帶頭搞,光靠開(kāi)源社區(qū)是搞不成的。

  方法

  假定你是一名“自主”操作系統(tǒng)項(xiàng)目的技術(shù)管理者,你第一步要考慮的問(wèn)題是什么?許多人的回答可能是:先選操作系統(tǒng)內(nèi)核、基礎(chǔ)庫(kù)什么的。其實(shí)錯(cuò)了,第一步要考慮的應(yīng)該是你打算選擇什么編程語(yǔ)言作為原生應(yīng)用的編程語(yǔ)言。

  世界上的編程語(yǔ)言有很多種,有些語(yǔ)言貼近機(jī)器,比如匯編語(yǔ)言、C語(yǔ)言,有些語(yǔ)言貼近人,比如Basic、Java,還有些語(yǔ)言用于特定領(lǐng)域,比如網(wǎng)頁(yè)服務(wù)器端使用的PHP,有些適合做不同軟件之間的粘合劑,比如Perl、Python。本文第三章已經(jīng)解釋了編程語(yǔ)言以及圍繞編程語(yǔ)言形成的運(yùn)行環(huán)境、框架是將操作系統(tǒng)區(qū)隔于其他操作系統(tǒng)的主要技術(shù)特征。因此,我們必須慎重選擇一種編程語(yǔ)言。而且一旦選定了一種編程語(yǔ)言,“自主”操作系統(tǒng)在開(kāi)發(fā)者看來(lái)長(zhǎng)什么樣,其實(shí)就基本上定了。

  選擇編程語(yǔ)言要考慮如下因素:這種編程語(yǔ)言是否易于學(xué)習(xí)和掌握?是否有龐大的開(kāi)發(fā)者在使用它?這種編程語(yǔ)言是否具有高級(jí)語(yǔ)言的基本特征,比如,支持面向?qū)ο缶幊?這種編程語(yǔ)言是否是編譯執(zhí)行的?這種編程語(yǔ)言是否利于保護(hù)開(kāi)發(fā)者的知識(shí)產(chǎn)權(quán)?這種編程語(yǔ)言是否有完整的工具鏈支持?這種編程語(yǔ)言是否有集成開(kāi)發(fā)環(huán)境的支持?這種編程語(yǔ)言是否易于保護(hù)整個(gè)操作系統(tǒng)不會(huì)被惡意代碼輕易破壞?如此等等。

  

 

  其實(shí)很多讀者看到這里,都會(huì)想到Java語(yǔ)言。是的,Java語(yǔ)言或其派生語(yǔ)言如C#是構(gòu)架“自主”操作系統(tǒng)的最佳編程語(yǔ)言。可惜,已經(jīng)被Android和Windows Phone給捷足先登了。

  如此一來(lái),你可以考慮重新設(shè)計(jì)一門(mén)類(lèi)似Java的語(yǔ)言,也可以通過(guò)其他手段,讓你使用Java語(yǔ)言構(gòu)建的操作系統(tǒng)有別于其他操作系統(tǒng)。比如,構(gòu)建自己的虛擬機(jī),如Android使用的Dalvik那樣(Dalvik和Oracle的JDK標(biāo)準(zhǔn)虛擬機(jī)有很大不同,從而讓Oracle還挺難告贏谷歌的);你也可以用Dalvik,但讓類(lèi)庫(kù)、運(yùn)行環(huán)境和Android不同(這樣做的法律風(fēng)險(xiǎn)要大一些)??傊阈枰凶约旱膭?chuàng)新,全部抄襲是不行的。

  確定了編程語(yǔ)言,接下來(lái)的工作其實(shí)就比較直接了,從上而下設(shè)計(jì)就是了。主要有:

  1、定義和實(shí)現(xiàn)提供給原生應(yīng)用程序的基礎(chǔ)API和/或虛擬機(jī)。

  2、在應(yīng)用程序基礎(chǔ)API、標(biāo)準(zhǔn)C/C++函數(shù)庫(kù)和相關(guān)組件(通常都是開(kāi)源軟件)的基礎(chǔ)上構(gòu)建操作系統(tǒng)的運(yùn)行環(huán)境和框架。主要涉及系統(tǒng)服務(wù)、模塊之間的通訊機(jī)制,包括圖形界面、瀏覽器引擎、OpenGL ES支持接口等等。

  3、同時(shí)選擇操作系統(tǒng)內(nèi)核,通常也就是Linux,要與眾不同,用BSD也行。

  4、搞定集成開(kāi)發(fā)環(huán)境和模擬器,讓開(kāi)發(fā)者可以在PC機(jī)上為你的操作系統(tǒng)開(kāi)發(fā)應(yīng)用程序。

  5、讓你的操作系統(tǒng)運(yùn)行在真實(shí)硬件上,為開(kāi)發(fā)者提供應(yīng)用樣例和文檔。

  6、持續(xù)迭代,讓你的“自主”操作系統(tǒng)不停往前發(fā)展。

  上面的第一點(diǎn)和第二點(diǎn),是“自主”操作系統(tǒng)有別于其他操作系統(tǒng),且支撐你可以和其他人競(jìng)爭(zhēng)的關(guān)鍵點(diǎn)。往下的東西都不是構(gòu)成“自主”操作系統(tǒng)真正競(jìng)爭(zhēng)力的東西。

  這么看來(lái),其實(shí)也挺簡(jiǎn)單的。不是嗎?貌似有錢(qián)、有個(gè)把技術(shù)上的明白人就能做到。技術(shù)上沒(méi)問(wèn)題了,市場(chǎng)、法律等方面的事情,請(qǐng)專(zhuān)業(yè)人員幫忙,中國(guó)這類(lèi)人才還是蠻多的,缺的,其實(shí)還是技術(shù)人員以及懂系統(tǒng)工程和軟件開(kāi)發(fā)的管理人員。



關(guān)鍵詞: Android Google OS

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉