現在的操作系統很多,為什麼不想個辦法讓這些平台運行的程序都能互相兼容呢?
01-04
有windows、andriod、ios、wp等,每個系統都運行不同的程序。而wp8能夠兼容windows的程序就很暢銷,能見大多數人都喜歡能夠互相兼容的產品,據說window rt將可以運行andriod程序,期待
BlueStacks 擁有讓 Windows PC 平台運行 Android 應用的「Layercake」技術
兼容聽起來很好,但實際上做起來成本非常高,得不償失。即使不談利益分配問題,也不值得做。別說不同平台了,就是同一個平台,比如ios, 開發者要兼容不同設備也得折騰很久了,還不提android.java當初是號稱"一次編譯,到處運行",實際上是"一次編寫,到處調試",其實負擔很重。
Facebook以前在iOS和Android上都是用WebApp,結果導致了性能不佳,體驗差勁,4個月前FB的app換成了native的,結果大受好評。今天FB的Android app也進行了重大更新,新獲取的評價基本都是5顆星的。遊戲方面Unity也在做跨平台的開發平台,從使用者的角度看來,效果不錯。
往大了說,是因為各個操作系統想要解決的使用者的問題不一樣,所以導致各個操作系統的側重點不一樣。
不要期望用一種方法解決所有的問題,那隻會帶來形式上有嚴格秩序後帶來的美感。實際上,按照大自然的法則,參差不齊才是能夠應對不同環境的正確做法。
當然,這裡還不能忽視商業因素,但是從解決問題的角度來說,商業因素應該是果,而不是因。因為二戰的時候贏的是同盟國。要是軸心國贏了,現在肯定只有一個操作系統,人類也早就移民火星了。
layercake就是個支持硬體加速和GPU的安卓模擬器而已。你要兼容可以,自己整個vmware,啥系統都往上裝一個就行,只要你內存硬碟夠大夠快。不兼容的背後是商業利益和軟硬體平台不同導致的困難。
HTML5 + w3c device api可以達到跨平台的能力,應用都使用標準的API開發,可以保證不用修改就可以在不同的平台運行,這後面需要os支持HTML5和實現這些device api,也有中間件提供這樣的支持,如phonegap,在不同的平台上,phonegap需要根據平台的能力實現相關的plugin,以達到HTML5應用跨平台的能力。其實,應用跨平台只是開發者的需求,開發者希望不為每個平台開發一套應用,這樣可以節省很多開發成本,但是用戶根本不關心,這個應用是不是跨平台,應用關心的是在這個平台上,這個應用體驗是不是很好,因此,從用戶的需求來看,保證應用的體驗是前提,跨不跨平台真的不是太重要。而且,應用框架設計合理的話,在不同平台上核心邏輯移植都應該是比較容易的,如核心邏輯在android上使用native實現,則很容易移植到ios平台,剩下的就是在不同的平台開發適合不同平台的UIUE,這個目前HTML5雖然可以統一,但效果未必很好。知乎就是這個例子,在android上沒有官方的app,只能用瀏覽器訪問,但是體驗真的不好。
1、都互相兼容不就成一個平台了么 誰也不願意平台這麼重要的命脈掌握在別人手裡2、一個大雜燴系統 智能手機、嵌入式平台、高性能電腦的軟硬體側重點都不一樣 價格區別也很大都搞成統一的不現實3、輸入手段不一樣 手機平板用觸摸 嵌入式機頂盒的用遙控器 電腦用滑鼠鍵盤 現有程序基本不支持這麼多輸入方式
從宏觀上看,世界是多元的,新的思想會不斷的湧現,不會趨近於統一,具體到實際,每個公司有各自不同的利益,沒有動力去統一。
某些大牛在默默努力,比如HTML5.................
你要說沒有也不是啊,Adobe就有一個AIR啊。可是在其基礎上發布的又很少。
其實這其中,可以引入遊戲平台,這樣的就好理解了,當然國內盜版無數,你們也是不會懂的。
1、目前我們所知,遊戲平台大致分3分天下,xbox,ps,wii2、3者遊戲互不兼容,當然根本原因在於硬體系統不同3、更重要的是,ps還有wii,特別是wii有很多獨佔遊戲,例如mario,除非你買wii,否則你幾乎無法按正常途徑去玩。同理,智能系統(由於題主問題太范了):1、硬體系統不同2、支付通道不同3、獨佔軟體的原因(很多軟體遊戲,還是要賺錢的。)當然這也是商家自身的原因,還有一些不得不考慮的問題1、linux跟mac都是在unix的基礎上,所以命令方式類似,所以其實不能說不能運行,但是畢竟系統不是光由一個內核構建而成的。所以有很多linux軟體要在mac上運行,都需要重新編譯。2、anroid和unix就不用說了,因為硬體不同,所以即使原理相同,最後還是需要大量的重新編譯。
3、相對來說,win就差別比較大,不過大量的愛好者都是用vc,vb等等語言編輯,雖然語言和C有些可以互相參考。但是畢竟不同,緣由嘛,為非就是為了實現更方便的使用,更方便的創作了。其實說道HTML,還有air,為什麼他們能做到平台之間相互兼容,除了經驗的積累以外,更重要的是他們是在成功的基礎上建立起來的,他們都是等到系統分完了天下之後再做出來的。總的來說,世事萬物皆是如此,分久必合,合久必分。如今是合的年代,合的久了,也就開始感覺為什麼他要這樣做,那樣做,我想這樣做,我想那樣做。到時肯定要問我為什麼要都統一呢?Ubuntu不是剛剛表現出了統一平台的野心嗎?
但是,
桌上系統使用滑鼠鍵盤,移動設備卻主要靠手指點按。怎麼說服開發者為同一個app開發兩種使用完全不同操作的的版本?這些Ubuntu根本都沒考慮周全。Ubuntu的願景是很好的,在未來所有計算設備(手機、電腦、汽車、馬桶……)即使不會使用一致的操作系統,也早晚會互相兼容。只不過現在看來不太現實:Android是為移動設備而生,Windows早就放棄了桌面操作化的移動設備轉而開發WP…… Ubuntu能扭轉這一局勢嗎? 起碼現在沒可能。這個太簡單了,只要通過虛擬化,就能夠實現解耦合了。
- 閉源環境下,不同平台的程序兼容談何容易;
- 即使開源,也沒有太多人有熱情做這樣費力不討好的事情,與其花精力兼容其它平台的應用程序,不如花精力培植自己的生態系統;
- 行業需要多種多樣的生態,不同生態之間會競爭和融合,所以沒有完全互通的必要;
推薦閱讀:
※面對一個非痛點、非剛需又低頻的互聯網產品,你會如何思考出路?
※為什麼新浪微博轉發可以修改別人的話?
※有哪些優秀產品源自創始人自己的需求?
※移動互聯產品的未來怎樣?
※產品界面改版一般怎麼做?如何評估?