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