原生應用仍然全面碾壓Web應用——但這并非壞事
全部應用都應該以Web應用的形式存在,這種觀點雖然過于天真但卻擁有廣泛的影響力;不過事實證明,我們需要以不同訴求為前提做出合理選擇——畢竟原生與Web應用各擅勝場。
不知道大家是否還記得幾年前曾經出現過的一大熱門議題,即應用到底應該以原生方式面向特定系統平臺還是通過單一Web應用形式實現出色的通用性。這個嘛,原生應用最終在競爭當中勝出——抱歉啦,對方辯友!我個人也樂于接受這樣的結果,不過必須承認,Web應用雖然未能成為惟一主流、但仍然值得大家在需要時加以選擇。
關于Web應用更優的愚蠢觀點
支持Web應用的意見往往認為這類方案能夠通過單一應用確保其一致性與通用訪問能力,且能夠顯著簡化開發工作的難度。這種說法在某種程度上是正確的,但網絡瀏覽器之間的巨大差異卻使其很難真正成為現實——特別是在微軟瀏覽器之上——這意味著Web應用可能并不像大家想象中那么通用。
哦,另外Web應用的功能往往比較孱弱,而且一旦失去了互聯網連接它們就會完全陷入癱瘓。相比之下,一部分原生應用能夠使用來自互聯網的信息,例如航班應用或者導航應用,但大多數通常能在不具備網絡連接時仍然正常起效。
這并不是說原生應用總是要優于Web應用。Adobe Analytics應用就完全無法在平板設備或者智能手機上運行,但其Web應用版本則不會受到這類限制。JetBlue的Web應用在查看航班信息時甚至比原生應用更為強大——不過原生版本能夠記錄用戶的細節信息,甚至可以在離線模式下繼續起效。
而且很多移動銀行應用——甚至在平板設備上——都無法提供與其Web應用版本相比肩的功能豐富性水平。這實在太蠢了,對吧?
而來自Web應用支持者的反對意見主要集中在各類極為糟糕的原生產品身上,例如福特公司的Microsoft Sync作為車載信息娛樂系統實在令人抓狂——這其實有點極端,類似由于某家糕點店的東西不好吃而對甜食加以徹底否定。
這些差勁的原生應用反映出開發人員與UI設計師根本未能實現應有的設計與執行效果,但這一些并不是原生應用自身的概念性原罪。事實上,也有很多Web應用在部分或者全部設備上運行效果捉急(沒錯,說的就是Ariett Xpense與Google Apps),但這明顯并不能證明Web應用這一概念根本不應該存在。
原生應用的統治疆域
那么原生應用的優勢怎樣以及在何時才能體現出來?大家在解決這個問題時需要參考幾項基本屬性,且同時從開發者與用戶的角度出發:
信息需要具備持久性。 這意味著在下一次同步或者下載之前,全部既有信息要一直被保留在設備當中,直到確定可以將其清除。盡管互聯網連接如今已經隨處可得,但其可用性與穩定性仍然會受到諸多限制。
另外,不斷刷新查詢結果會產生大量流量并占用帶寬,這就正是移動連接與桌面連接越來越多地消耗網絡資源的根本原因所在(這讓家庭寬帶服務供應商們面臨著沉重負擔)。
舉例來說,我希望自己的登機牌信息能夠以本地方式保存在自己的智能手表或者智能手機當中,而不是每次要使用時都需要通過網絡連接加以實現。正是出于這一考慮,谷歌公司才決定將其語音智能識別與擴展地圖數據以原生方式內置于Android系統當中,而非只提供純在線模式(聽見了沒,蘋果?)。
原生能力更具實用性甚至必要性。我們的計算機與移動設備在功能方面遠非一款小小的瀏覽器所能應對。無論是其內置攝像頭、麥克風、移動支付驗證機制、幫助應用訪問、手勢操作還是通知信息,大家都需要以原生方式與之對接。而且盡管這里提到的大部分原生功能都立足于移動平臺,不過這一情況在桌面設備端也同樣適用。
讓如此強大且極具優勢的本地處理器及存儲資源處于閑置,簡直是種可恥的浪費!
通知機制則是另一個簡單但卻有力的實例。舉例來說,如果大家使用過Slack,就會意識到其在OS X、Windows、Android、iOS、Windows Phone以及Linux上所能提供的強大原生通知功能優勢,這意味著用戶能夠隨時獲取到對話內容——而不像Web應用那么遲緩而滯后。而在Windows與OS X平臺上缺少原生版本則成為我和我的同事們批評Yammer的主要理由——實踐證明,當重要消息出現時我們在桌面環境下總是得不到Web應用的及時提醒。
微軟Office則是另一個有趣的例子。其Web應用版本非常出色,而且可以說是富互聯網時代下的標志性產物。不過舉例來講,大家無法在這里找到注釋或者自動語法糾正功能——二者在原生應用版本中顯然一直存在,另外我們也無法讓自己的演示文稿在其它設備上播放。
Web應用的舒適區
盡管原生應用往往是默認條件下的理想選擇,不過Web應用也仍然擁有自己的合適施展空間。
大家的平板設備或者計算機發生故障、丟失或者電力不足,那么能夠使用其他同事的設備繼續工作就成了最理想的處理方式——在這種情況下,Web應用自帶的備份機制就成了壓倒原生應用的巨大優勢。
Web應用的另一大施展平臺則在于偶發性服務,也就是說用戶可能在第一時間并不具備或者有能力獲取到相關應用。在這方面,最典型的例子就是政府事務網站,比如營業執照交費或者汽車檢驗證續期。沒人希望在自己的設備上安裝大量幾乎很少使用的應用程序。在這種情況下,Web應用憑借著搜索與書簽功能成為此類服務的最佳實現途徑。
不過,為了能夠讓Web服務能夠在Windows PC之外同樣順利運行在移動設備以及Mac之上,政府機關與電信運營商必須對其加以特別關注——但實際上二者做得并不好。令我感到震驚的是,政府與運營商的網站普遍要求訪問設備擁有Flash或者IE瀏覽器(這就直接將移動設備以及Mac、Linux以及Chrome OS用戶排除在外),使用特定的Java版本(意味著Mac無法運行此類服務)或者完全沒有考慮到小尺寸屏幕的交互設計需要。開發原生應用的過程會始終將這些問題納入考量范圍,而非直接將其拋在一邊。因此,從這個角度講,原生應用較Web應用仍然極具比較優勢。
原文標題:Native apps crushed mobile Web apps -- and that's a good thing
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】