Web 黨 和 Native 黨都歇會兒吧 - 爭論毫無意義
首先要說明的一點:目前大多數移動應用都是雜交種。好了,我們繼續。
Mozilla 開發者 James Long 堅持認為,無論現在還是將來,Web App 永遠,無法,與 Native App 相匹敵。雖然 Long 先生的預言散發著一股濃厚的挑釁意味,不過也有可能是對的。
但與此同時,我們也漸漸發現,圍繞 Web 與 Native App 孰優孰劣的爭論其實毫無必要。
市場調研公司 Forrester 的研究稱,看待這一問題應當以史為鑒。「PC 客戶端曾在很長一段時間內起著主導作用,但最終被 Web 版所取代。歷史也將在移動端上重演。」或許吧。
不過,如果 非死book 剛發布的前端界面開發工具 ReactJS 透露出什么風聲的話,那就是——網頁也好,本地也罷,未來應用開發的趨勢是兩者的結合,即 Hybrid App(混合模式移動應用)。并且,所謂的「未來」,其實早已到來了。
DOM「太慢了」
正如 Long 所說,Web App 的問題在于其 DOM(文檔對象模型)「太慢了」,并且絕無改觀的可能。對那些認為 DOM 將變快的人,Long 是這么說的:
(根本)無需證明。沒有任何跡象表明 DOM 會變快,就算真實現了,可能要過好幾光年才能應用在移動端。要讓它在速度上產生質的飛躍,單從技術層面上是無法實現的。就好比你要渲染一個包含一百萬個多邊形的模型,那么你真正要做的是減少多邊形數量,而非優化算法。
這也正是 React Native 所做的:干脆把 DOM 扔到一邊。
閱讀應用 Flipboard 最近就這么干了一回。公司在解釋這么做的目的時表示,「你根本無法用 DOM 來構建一個每秒 60 幀的滾動列表視圖。」簡單直接。
又或如獨立博主 John Gruber 所說,「Flipboard 利用 HTML5 的 <canvas> 元素打造了自家 Web App 框架,由此也繞過了 DOM 與傳統 CSS 的限制。
移動 Web 之爭
我們并不想討論 Flipboard 和其他一些公司「政治正確」的觀點,我們只考慮「工作效率」這回事。事實證明,開發混合模式應用是最有效的方法,一直以來都是如此。
而事實是,當我們談論 Native App 時,其實我們說的已經是 Hybrid App 了,因為大多數應用中都有著 HTML 的影子。這倒不是我們認為應該支持哪一方,而是牛逼的開發者都這么干。
拿 Instagram 舉個例子吧。
雖然看上去是 Native App,但 Instagram 時間線其實只做了一個 WebView。這并沒有引起大家爭論,而且確實也沒必要爭論。Instagram 的開發者并不想卷入撕逼大戰,他們只是想努力做個好應用。混合開發模式幫了他們的大忙。
非死book CEO 馬克·扎克伯格曾經聲稱 HTML5 是 非死book「犯過的最大錯誤」(這話本身的準確性還有待商榷),但很明顯,旗下的 Instagram 并沒聽他的話。
混合才是王道
所以問題的關鍵是,我們不應該把視線聚焦在應用開發模式,而是要關注如何打造好的應用。
當開發者 Nic Raboy 將關注的重點由如何(how)開發,轉為開發何種(what)應用時,他便領悟到了這點:
我寫的應用大多都能獲得好評。只要上 Google Play 看看,你就會發現沒人關注應用是 Native 還是 Hybrid。所以重點在這:很多噴子會黑開發者,說 Hybrid App 無論在界面還是表現上都不如 Native App,但這黑點完全不對。如果開發者或設計師本身不給力,那應用就活該被嫌棄,跟它用哪種開發模式完全沒關系。
所以,如果說 Web 開發技術容易學習,這沒錯;Hybrid App 省錢省時間,這也沒錯(如果你了解 Native App 的開發成本,就會更同意這點);Hybrid App 也能體驗超凡,這也沒錯。以上這些都沒錯。
而且也真的不重要。
因為開發者們只想在最短時間里開發出最好的應用。絕大多數時候,這意味著選擇混合模式。
如今的普遍方法是在所謂 Native App 中封裝一個 WebView,實際訪問的仍舊是 Web App。而在 React JS 面世后,情況可能會有所不同。
VisionMobile 最近這樣寫道:
非死book 最近發布的 React Natives 讓我們得以一窺移動應用的未來:它具有 Native App 的表現,類似 Web App 的界面;而且基本由 JavaScript 寫成。
在 React Native 的世界里,我們沒準可以把寶全押在 Web 上。
無論應用在技術層面上如何實現,真理只有一個:混合。這也是如今移動應用的主流開發方式,雖然我們表面上仍稱之為本地(Native)。或許 React Native 將部分改變我們開發的過程,但并不會改變使用混合模式的本質。
所以 Web 黨和本地黨的爭論,本質上只是開發市場的問題。隨它去吧。
原文地址: readwrite