【小(xiǎo)編推薦】太原APP開(kāi)發:為(wèi)你(n‌∞ǐ)普及iOS和(hé)Android的(de)曆史起∏©☆∞源

2014-05-26   | ∑ε ;  發布者:梁國(guó∏₽ ₽)芳   |   ↔σ查看(kàn):3320次

APP資訊
太原APP開(kāi)發:為(wèi)你(nǐ)♣π £普及iOS和(hé)Android的(de)曆☆≠‌史起源:
Android之父
實際上(shàng)在General Magic公司負責MagicCa​‌p開(kāi)發的(de)工(gōng)程師(shī)€™中有(yǒu)一(yī)位叫作(zuò)Andy Rubin的φε£γ(de)年(nián)輕人(rén)。
這(zhè) 名年(nián)輕人(rén)在Gen✘≥eral Magic公司解散一(yī)年(nián)之後創立✔ ←¥了(le)一(yī)家(jiā)面向移動終端的(de)OS₩£開(kāi)發的(de)創業(yè)公司。和(hé)↓♣☆×General Magic公司一(yī)樣,硬α‍β&件(jiàn)的(de)開(kāi)發交由外(wài)部公司,本γ®<公司集中精力于OS的(de)開(kāi)發。但(dàn)是(shì)和(h✔®→é)General Magic公司隻向自(zì)己的(de)合©↓✔♥作(zuò)公司提供OS不(bù)同的(de)是(shì),And♠♠♠εy Rubin的(de)公司免費(fèi)向其它公•σ司提供OS和(hé)APP開(kāi)發環境。
由Andy Rubin創立的(de)公司正是(∏∏shì)現(xiàn)在的(de)“Android≤ ​÷”。後來(lái)這(zhè)家(jiā)公司∑≥被美(měi)國(guó)的(de)Google公司收購(gα©òu),而Android這(zhè)一(yī)公司名也(yě)就(jiù)‍∏‍"隻能(néng)作(zuò)為(wèi)OS的(de)名稱而保 留了λ'φ(le)下(xià)來(lái)。現(xiàn)在被稱☆ ±之為(wèi)Android之父的(de)Andy ≥>&♣ Rubin在公司被收購(gòu)之後留在了(le)Googl→≈•e公司并且負責Android業(yè)務(現(xiàn)在負責機₩₽≤(jī)器(qì)人(rén)的(de)開(kāi)發)。

雖然智能(néng)手機(jī)是(shì)移動♣¶電(diàn)話(huà)的(de)一(yī)種,但(dàn)我們完≤Ω <全可(kě)以将其作(zuò)為(wèi)小(xiǎo)★<∞型化(huà)的(de)電(diàn)腦(n ↕ǎo)來(lái)思考。這(zhè)樣一(yī)來(lái)也(yě©♠‍✔)能(néng)夠顯示出智能(néng)手機(jī)OS的(de)高(gāo)✘©♦₹性能(néng)。我們首先一(yī)起來(lái)回顧下(xiàλ )智能(néng)手機(jī)OS的(de)曆史。
 
OS的(de)黎明(míng)期
其 實在很(hěn)早之前就(jiù)已經有(yǒu)這(zhè<•)樣的(de)想法,即在像智能(néng)手機(jī)這(zhè)樣可™<α÷(kě)以便利攜帶的(de)小(xiǎo)型電(diàn)腦(n  γǎo)終端上(shàng)運行(xíng)OS。大(dà)約20年(ni®£↔‌án)前左右,在美(měi)國(guó)的(de)拉斯維加斯舉辦的(→δ ↓de)世界最大(dà)的(de)電(diàn)腦(nǎo) 相(xià™λng)關産品展示會(huì)“COMDEX”上(shΩ∑↑αàng),日(rì)本索尼公司開(kāi)發的(de)當時&§(shí)稱之為(wèi)“MagicjLink&rdquo$​;的(de)攜帶型信息終端吸引了(le)很(hěn)多(duō•★≤✘)的(de)關注(圖1)。這(zhè)款終端∏♥并不(bù)僅僅 是(shì)一(yī)款用(yòng)來(lái)記筆(₩±bǐ)記和(hé)日(rì)程規劃的(de)電(diàn)子€♣(zǐ)帳本,當時(shí)已經具備了(le)通(tōng)信α↕£→功能(néng)還(hái)可(kě)以收發₽λ郵件(jiàn)和(hé)搜索信息。

圖1:圖片上(shàng)部的(de)是(shì)Magid≈↕£Link設備,下(xià)面部分(fēn)為(÷✘∞wèi)鍵盤。液晶顯示也(yě)是(shì)單色↑​✘的(de)。
 
MagicLink 是(shì)索尼公司的(de)産πγ品,但(dàn)終端的(de)本質是(shì)能(néng)夠在這(zh↔↑∑✔è)台終端上(shàng)運行(xíng)的(de)Oπ₽÷S。這(zhè)就(jiù)是(shì)由美(měi"≤₩₹)國(guó)的(de)蘋果公司的(de<σ)工(gōng)程師(shī)們開(kāi)發出來(lá¥&"i)的(de)稱之為(wèi)“MagicC♠≥λap”的(de)OS(圖2)。 因為(wè→α∑σi)在那(nà)個(gè)年(nián)$©★'代“通(tōng)過OS商業(y€β £è)交易是(shì)件(jiàn)大(dà)生(s‍λhēng)意”,所以有(yǒu)各種各樣的(de)OS被發₹≠$→布。衆所周知(zhī)的(de)Windows 95也(yě★→‍)是(shì)在那(nà)一(yī)年(nián)發布的(de)¥$。

圖2:MagicCap OS的(de)顯示畫(huà)面。起動終端後就(ji€ ☆ù)會(huì)進入圖片所示的(de)界面。包括電(diàn)話(huà)和₹​∏↔(hé)記帳以及筆(bǐ)記功能(néng)。用(y™↓òng)筆(bǐ)觸摸就(jiù)可(kě)以啓動各∑ α個(gè)APP。其中的(de)“In和≈₽(hé)Out”代表的(de)是(sh ‌λ≤ì)郵箱。
這(zhè)款OS是(shì)由蘋果的(de)工(gōng)程師(shī)開(φ₽βkāi)發,日(rì)本的(de)制(zhì)造商負責終端生(shēng)✔Ω産。
 
蘋 果的(de)工(gōng)程師(shī)隻負♣¶ ε責開(kāi)發了(le)OS,硬件(jiàn)部份是(shì)由日(rì)本®≥§←的(de)制(zhì)造商等外(wài)"★♣"部公司開(kāi)發出來(lái)的(de)。蘋果公司還(hái)因∏δ☆此設立了(le)“General Magic&rdq₹α☆÷uo;這(zhè)樣的(de)一(yī)家(jiā)子(z¥α€✔ǐ)公司。這(zhè)家(jiā)公司主要(yào)負責推進Magic™↑₽Cap的(de)開(kāi)發和(hé)為(wèi)₽™φλ日(rì)本的(de)制(zhì)造商提供幫助。索尼公司和(hé)現(↔♣'xiàn)在的(de)松下(xià)以及三菱等公司以 MagicCap₹₽終端的(de)開(kāi)發為(wèi)名制(zhì)造出​ Ω"了(le)最初的(de)一(yī)款産品即→σπ索尼公司的(de)MagicLink。
 
蘋果公司的(de)工(gōng)程師(shī)開(kāi)發的(de)Magi±φcCap作(zuò)為(wèi)“移動OS&$γrdquo;是(shì)具有(yǒu)劃時(shí)Ω§∏§代意義的(de)。但(dàn)是(shì)Mag₽★ icCap最終卻以失敗告終。因為(wèi)這(zhè₽♥ ★)款終端根本賣不(bù)出去(qù)。硬件(jiàn)的(de)處理(​¥λlǐ)能(néng)力和(hé)重量以及價格等等在當✘'時(shí)都(dōu)成為(wèi)了(le)問(wèn)題≤ £。要(yào)知(zhī)道(dào)那(nà)個(gè)時(shí)代↕®網絡還(hái)不(bù)是(shì)一(yī)般人(rén)可(kě)以使用"​★(yòng)的(de)。
為(wèi)MagicCap設想的(de)網絡和(hé)那(nà)個(gè)年★∏(nián)代即1980年(nián)的(de)電(diàn)腦∑$ ☆(nǎo)使用(yòng)的(de)網絡是(shì)一(yī)樣>₹∑≈的(de)。而網絡和(hé)Windows95的(de)爆發性普及卻是(≈∏shì)在那(nà)之後的(de)一(yī)年(nián)才開(kāi)始¶≥± 的(de)。

 
iOS之父
如(rú)果說(shuō)Android之父是(shì)MagicCap≤××£的(de)開(kāi)發者Andy Rubin,那(nà)麽能×‍​(néng)稱得(de)上(shàng)‌€是(shì)“iOS之父”的(de)又(yò>‌∞≈u)是(shì)誰呢(ne)?
 
實際上(shàng)蘋果公司在推出MagicCap終端的(de)幾年(♠<>nián)前就(jiù)已經銷售一(yī)款叫作(zu£←ò)“Newton”的(d±'™e)小(xiǎo)型終端。但(dàn)是(shì)遺憾的(d<♦©e)不(bù)論是(shì)設備還(hái)是(shì ∏λ↕)開(kāi)發環境當時(shí)都(dōu)非常昂貴最終沒有(yǒu)∏ ☆δ普及開(kāi)來(lái)。
 
現(xiàn)在的(de)iPhone的(®≤€≥de)OS“iOS&rdqu★↔o;的(de)先祖即不(bù)是(shì)來(lái)自(zì)蘋果Ω​←€公司開(kāi)發出來(lái)的(de)Newton也∑₽(yě)不(bù)是(shì)來(lái)自(≤δ§¥zì)蘋果子(zǐ)公司開(kāi)發出的(de∑•↔)MagicCap,而是(shì)另有(yǒu)來(lái) &£₽源。是(shì)蘋果的(de)創始人(ré×"©'n)Steve Jobs。
 
General Magic公司正在開(k∏ ​δāi)發MagicCap的(de)時(shí)代,作(zuò)為(">wèi)蘋果公司創始人(rén)的(de)Ste¥£ve Jobs從(cóng)蘋果公司離(lí)開(kāi),并且創立了(le)≠β“NeXT Computer”這(zhè) ✔↔ 家(jiā)公司,并且開(kāi)發出了(le)£∏®¥一(yī)款叫作(zuò)“N♠★©≤eXT”的(de)高(gāo)性能(néng)電(d$±iàn)腦(nǎo)。與此同時(shí)σ¶ε開(kāi)發了(le)一(yī)款叫作(zβ↕uò)“NeXTSTEP&rdq£¥∏uo;的(de)OS。
 
NeXTSTEP 是(shì)通(tōng)♦¥₹過叫作(zuò)“Objectα♣Oriented”的(de)新型方法開(kāi)±​發出來(lái)的(de)一(yī)款OS。NeXTSTE§₽‌♥P的(de)APP通(tōng)過“ Objective-C≤÷”這(zhè)種新的(de)編↓✘♦ε程語言來(lái)開(kāi)的(de)。 Objective-C£‍★不(bù)僅可(kě)以使APP開(kāi)發變得(d€♣e)更加有(yǒu)樂(yuè)趣而且性​® ​能(néng)非常高(gāo),是(shì)一(yī)種具有(yǒu)劃× ₽時(shí)代意義的(de)編程語言。
雖說(shuō)從(cóng)技(jì)術(shù)上(shàng)來(lái←γ)講是(shì)絕佳的(de),但(dàn)✔★≈是(shì)結果卻和(hé)MagicCap一(yī)樣,NeXT電'☆(diàn)腦(nǎo)最終在商業(yè)上(s☆§hàng)也(yě)沒有(yǒu)獲得(de)成功。但±π(dàn)是(shì)NeXT并沒有(yǒu)消失,而是<→(shì)被蘋果公司收購(gòu)作(zuò)為(wèi)蘋果公司的(de)  技(jì)術(shù)而被保留下(xià)來(l↔∑ái)。
 
那(nà)個(gè)年(nián)代的(de)OS
那(nà)個(gè)年(nián)代的(de)電(diàn)腦(nǎoεγ₩)不(bù)論是(shì)Macintosh還(hái)‌ε 是(shì)Windows都(dōu)尚不(b§☆÷©ù)穩定,使用(yòng)過程中會(huì)↑≤λ∏突然出現(xiàn)重啓,電(diàn)腦(€↕nǎo)突然出現(xiàn)問(wèn)題,軟盤或硬盤出現(xi∞≤àn)故障導緻數(shù)據無法讀(dú)寫的(de)情況并÷λ¶不(bù)少(shǎo)見(jiàn)。不(bù)論是(shì)£<£微(wēi)軟還(hái)是(shì)蘋果公司都(dōu)因此傷透腦(nǎo)​₽δ€筋。
 
故障最大(dà)的(de)原因在于OS上(shàng)的(de)應用(≥∑yòng)的(de)運行(xíng)結構。當時(shí)電(dià∞ n)腦(nǎo)用(yòng)的(de)OS還(hái)₽βλ處于比較原始的(de)狀态。在電(diàn)腦( ↕∏≈nǎo)運行(xíng)的(de)所有(yǒu)軟件(Ω≈ε♥jiàn)隻能(néng)一(yī)個(gè)一(σ$αyī)個(gè)地(dì)按順序利用(yòng)CPU。C↑$≈×PU同時(shí)隻能(néng)執行(xíng)一(yī)個(gè)程序命令★  ♥。
 
你(nǐ)可(kě)以想象一(yī)下(xià)隻有(yǒu)一(yī)位收∏λ銀(yín)員(yuán)的(de)超市(shìγ¶)的(de)客戶排隊情形。把客人(rén)想象為(wèi)APP和(hé∑★∏ε)OS,收銀(yín)員(yuán)是(shì)CPU就(jiùββ✔)可(kě)以很(hěn)好(hǎo)地(dì)理(lǐ)解了(le±')。某個(gè)應用(yòng)在運行(xíng)的(de‌​δ↕)時(shí)候包括OS在內(nèi)的(de)其λ↔它軟件(jiàn)都(dōu)得(de)停止,等待CPU空↔↕δ→(kōng)閑下(xià)來(lái)。
 
并且當時(shí)的(de)OS已經停在收營員(y♣δuán)的(de)前面了(le),但(dàn)是(shì)那( €÷≈nà)些(xiē)不(bù)受控制(zhì)的(de)APP≠★卻停不(bù)下(xià)來(lái)。這(zhè)些(xi®'ē)不(bù)受控制(zhì)的(de)APP一(yī)直占用(yòng)著♥≠∞∞(zhe)CPU,導緻OS本身(shēn)不(bù)能(néng)使用®♠(yòng)CPU,OS自(zì)然也(yě)就(jiù)無法運行(xíng♥©∑γ)。
 
微(wēi)軟計(jì)劃通(tōng)過開®±"±(kāi)發一(yī)款叫作(zuò)Windo→↕ ∏ws NT的(de)新型OS來(lái)處理(lǐ)∑↔α這(zhè)種故障。具體(tǐ)來(lái)講就(jiù)是(π←₽♥shì)通(tōng)過采用(yòng)“​₩α≥preemptive multitasking&rdquγ' o;這(zhè)一(yī)結構來(lái)使♥≠↕系統達到(dào)飛(fēi)躍性穩定。
簡單來(lái)說(shuō)“pre☆'>≥emptive multitasking”就(jiù ‌₩)是(shì)通(tōng)過在短(du<↔↕δǎn)時(shí)間(jiān)內(nèi)讓所有(yǒu)的(deλ>≤ )APP都(dōu)強制(zhì)停止,而讓其它×≈的(de)APP運行(xíng)的(de)•α一(yī)種結構。以剛剛超市(shì)的(de)×∞σ≠例子(zǐ)來(lái)講,“在收銀(yín)員(yuán)前 ↑面停留的(de)時(shí)間(jiān)設定為(wèi)1人(rén)1 <≥0秒(miǎo),短(duǎn)時(shí)間(jiān)之內(nèi)立即就∑±(jiù)可(kě)以切換到(dào)其它人(rén)。&rdqσ★uo;
 
也(yě)就(jiù)是(shì)說(shuō)在收銀(yí☆∏<∑n)員(yuán)處需要(yào)花(huā)←¶1分(fēn)鐘(zhōng)以上(shàn÷Ωg)的(de)人(rén)必須要(yào)在收銀₽±§§(yín)員(yuán)處按順序排6次以•↑上(shàng)的(de)隊。這(zhè)樣一(yī)來(≈✔∞lái)雖然對(duì)于花(huā)時(shí)間(ji♣♠πān)長(cháng)的(de)人(rén)而言變♣γ '得(de)麻煩了(le),但(dàn)是(shì)卻不(bù)再會↑Ω₩(huì)因為(wèi)一(yī)個(gè)人(rén)不(bù)β δ遵守規定而出現(xiàn)死機(jī)現(xiàn)象了(le)。Winε£δdows NT就(jiù)是(shì)采用(yòng)這(z‌®∏hè)樣的(de)一(yī)種結構。
 
另 一(yī)方面蘋果公司希望通(tōng)過采用(yònδ•g)NeXTSTEP的(de)技(jì)術(shù)來∑×☆↕(lái)強化(huà)Macintosh的(d×≈e)OS。NeXTSTEP和(hé)Windows  πNT一(yī)樣也(yě)采用(yòng)了(le)“pree↓λ↓<mptive multitasking&rd"γ quo;這(zhè)一(yī)技(jì)術(shù)。而NeXTS↑&£TEP是(shì)以“UNI® ‌X”為(wèi)基礎開(kāi)發出來(lái)的(de),而UεφNIX可(kě)以回應“pree↕★mptive multitasking&rdq "uo;。NeXTSTEP和(hé)Windows N‍↔↕≠T一(yī)樣可(kě)以穩定地(dì)運行(xíng)正是(shìπ→φ )蘋果公司收購(gòu)NeXT的(de)原因。就∏"(jiù)這(zhè)樣Steve Jo✔ <bs再次回歸蘋果公司。
 
以NeXTSTEP為(wèi)基礎開(kāi)發出來(lái)的♠≥✔≈(de)OS叫和(hé)“Mac OS X&rdquo∑&←$;(圖3)。而APP的(de)開(kāi)發使用(yòng)“ α€&₹Objective-C”這(zhè)‍‌≥一(yī)點也(yě)因此保留了(le)下(xià)來(lái∏↑)。而“Mac OS X”也(yě)因此作(zu‌♦<σò)為(wèi)iPhone的(de)OS的(de)基礎而被采用(yλδ♣òng),這(zhè)樣一(yī)來(lái)才産生(shēng)了(le™π​)“iOS”。

圖3:iPhone搭載的(de)“iOS”↓€₹¶是(shì)以Mac OS X為(wèi)基礎産生(shēng)出來(láλ♦↔¥i)的(de)。而Mac OS X又(yòu)是(s÷‌✔hì)以Jobs創立的(de)NeXT Computer的(de)&ld‍&quo;NeXTSTEP”為(wèi)基礎産生(s•©★hēng)的(de)。
現(xiàn)在我們使用(yòng)iPhδ£≠one的(de)時(shí)候,畫(hu♠$à)面上(shàng)能(néng)夠看(kàn)得(de)到(dào)的(±←de)部分(fēn),例如(rú)“設置&r σdquo;和(hé)Home畫(huà)面×₩等等都(dōu)是(shì)在Mac OS X的(de)基→‌δ礎上(shàng)再次添加進去(qù)的(de),隻不(bù)過是(shì)i© Phone的(de)表面的(de)軟件(jiàn)而已。
 
iOS的(de)本質部分(fēn)是(shì)jobs親自π‌>(zì)開(kāi)發的(de)現(xiàn)在仍在延續著(zh$>e)的(de)NeXTSTEP和(hé)Objectiv£∑e-C。随著(zhe)iPhone的(de)普及ObjeφΩ€ctive-C的(de)知(zhī)名度也(yě)變得(de)很(π÷hěn)高(gāo)。如(rú)果去(qù)書♥§'(shū)店(diàn)查看(kàn)關于編程類的(de)書(shū'φ)籍的(de)話(huà),一(yī)定可'♠<(kě)以看(kàn)到(dào)很(hěn)多(duō)很(h  ✔♥ěn)多(duō)的(de)Objective-C的(€ >✔de)書(shū)籍呈現(xiàn)在那(nà)裡(£δlǐ)。