為什麼蘋果還要使用 HTML5 開發 iOS 上的新版 App Store?

http://twitter.com/drbarnard/status/248294305389756416

@drbarnard: Isn』t it ironic that just after Facebook releases a more native iOS app, Apple releases a more HTML 5 iOS App Store?


這是個很有趣的問題,要解釋的話,要從 iOS 程序安裝方式來說

現階段的 iOS 程序只存在兩種官方允許的安裝方式:企業分發, App Store

實際上呢,這兩種程序安裝方式是一種

所有 iOS App 都是通過:建立桌面書籤->下載軟體內容( ipa 或者app 封包)-> iOS 系統驗證簽名-> iOS 系統解包-> iOS 系統建立索引,安裝到位

這種安裝方法的第一步:建立書籤,最簡便的方法就是從網頁創建了。事實上蘋果系統不允許從其他途徑創建桌面書籤,所以 App Store 必須有頁面元素,至少那個購買按鈕要是頁面元素

其次, App Store 作為 iOS 上的一個收費軟體市場,必須得考慮到各種更新和漏洞修補的問題。按照現在的網頁處理方式,一旦出現任何市場漏洞,蘋果可以馬上通過修改頁面來處理;如果 App Store 是本地應用的話,很有可能會出現無法處理的問題,因為大家都知道 iOS 系統內置程序的升級都是和 iOS 系統同步進行的,同時 iOS 內置程序的儲存位置、許可權這兩個關鍵屬性和普通程序是完全不同的,也就是說如果 App Store 作為本地程序存在,出了任何問題,蘋果唯一的解決方法就是發布新的 iOS 系統,5.0.1,說實在,這是一個對於蘋果來說很尷尬的版本號

=========體內酒精含量:0.4%==========

當然,以上的都是本人一人之言,而且本人並非 iOS 系統專家,如有錯誤,還請包涵


以前appstore也是網頁版,但iOS6的內嵌網頁明顯設計不好,經常出現各種狀況,才導致用戶發現是html5網頁。

應用商店本身是個系統軟體,無法獨立自己升級,只能跟系統一起升級。同時appstore有安裝卸載升級軟體等超級許可權也不可能以普通的軟體發布(如果支持那麼意味著存在巨大的安全隱患)。系統軟體還能保持靈活網頁版是個無奈的選擇。

另外應用商店跟其他系統內置應用(相機,相冊)最大的區別是一個重度運營的業務。經常需要變更內容,而變更的內容很有可能導致UI框架變化。為了調整方便是個不錯的選擇。

其實還有一個重要的原因是蘋果的appstore有三個版本,網頁版,itunes版本,手機客戶端版本,採用HTML5的好處可以降低讓三個平台儘可能很多研發能夠復用,同時解決UI框架以及內容調整一致性。從資源角度來說是個節省資源的選擇。

實際上百度的android應用商店也是這樣的模式,當時在內部堅持這個方式的時候我被懷疑帶領團隊偷懶。


不管是ios上還是mac上,蘋果商店一直都是以web內容呈現的,只不過是現在增加了html5元素而已,何必大驚小怪,一直認為蘋果是使用native shell包裝html頁面達到如火純青的開發者。


很淺薄的一個觀點。如果是本地的應用,那如果出現bug的時候appstore該如何升級自己?


為了滿足使用不同國家/地區賬號登錄後載入不同的UI的需求。在iOS7中,依然如此,因為原生應用不可能做到這一點。

而且不僅App Store,iTunes Store等資料庫都是使用HTML。

如果這點你不能理解,請參考iTunes Store:

1.中國區的iTunes絕對是史上最傻逼的App,沒有之一:

吐槽:兩個Tab,分別對應「安裝iTunes U」和「安裝Podcast」——安裝之後呢?變成「打開iTunes U」和「打開Podcast」——你們有沒有被雷翻?反正我是翻面了。

但是如果到這你就覺得iTunes傻逼,那就是你傻逼了——井蛙不可語海,夏蟲不可語冰(說我自己)。

2.在美國區,iTunes是這個樣子:

看出啥叫差異了吧?所以,這玩意肯定還得用HTML寫,是不是5我就不管了。


iOS、Google Play、Windows 應用商店 都是這樣的設計。

* 對這個場景來說,用戶體驗與Native差別不大

* App Store 也不是不能升,可以藉助系統小更新來完成。但這樣對用戶是可選的,而放在Web上,必須聯網訪問就把主動權放在廠商自己手裡了。


用native把一些系統參數(像app版本,ios版本,unique號)存下來,其他展示都用h5實現,不只是修復bug快,甚至發布一個大的版本升級都不會有太大問題,基本上就等於web了。。


推薦閱讀:

為什麼 iPhone 4 升級到 iOS 6.1.3 比較卡,而同時代的一些 Android 手機升級到 Android 4.0 + 卻更加流暢?
為什麼 iPhone 初代沒有一經推出就大受歡迎?為什麼大多數人沒有在 2007 年想到蘋果會對諾基亞等公司產生致命威脅?
iPhone的iOS系統與安卓相比它的系統流暢是通過什麼達到的?
iOS上有什麼好用的健身的軟體嗎?
為何 Android 4.4 已推出 ART 模式可是體驗還是感覺和 iOS 相差甚遠?

TAG:iOS | 移動互聯網 | AppStore | HTML5 |