當前位置:
首頁 > 最新 > 前端工程師的新選擇?聊聊WebApp的未來

前端工程師的新選擇?聊聊WebApp的未來

作為新一代移動端應用分發入口,小程序的趨勢明朗化,競爭也在急劇激烈化。戰線從手機 QQ、QQ 瀏覽器、支付寶、手機淘寶,華為,小米等九家手機廠商推出「快應用」,再拉到了谷歌的 Instant App 和 PWA、Facebook 的 React Native。

此外,行業還一度盛傳今日頭條或將發力小程序,百度類似直達號的輕型應用也可能曲線回歸,一場圍繞webapp關鍵戰役已經全面打響。那是不是webapp就要替代原生app,webapp要爆發了,我相信很多人都有這樣的疑問,特別是從事web開發工作。

我們先說說現在主流的開發模式,Native App(原生模式)、Web App(html5 app)和Hybrid App(混合開發)。

Native App開發

Native App開發即我們所稱的傳統APP開發模式(原生APP開發模式),該開發針對IOS、Android等不同的手機操作系統要採用不同的語言和框架進行開發,該模式通常是由「雲伺服器數據+APP應用客戶端」兩部份構成,APP應用所有的UI元素、數據內容、邏輯框架均安裝在手機終端上。 Native App可以類比Client/Server結構(C/S結構),也就是是大家熟知的客戶機和伺服器結構。通過C/S結構也可以充分利用兩端硬體環境的優勢,將任務合理分配到Client端和Server端來實現,降低了系統的通訊開銷。

Web App開發

Web App開發即是一種框架型APP開發模式(HTML5 APP 框架開發模式),該開發具有跨平台的優勢,該模式通常由「HTML5雲網站+APP應用客戶端」兩部份構成,APP應用客戶端只需安裝應用的框架部份,而應用的數據則是每次打開APP的時候,去雲端取數據呈現給手機用戶。 Web App可以類比大家熟知的B/S結構,將系統功能實現的核心部分集中到伺服器上,簡化了系統的開發、維護和使用。

Hybrid App

Hybrid App(混合模式移動應用)是指介於web-app、native-app這兩者之間的app,兼具「Native App良好用戶交互體驗的優勢」和「Web App跨平台開發的優勢」。 這就像C/S與B/S結合產生的CB/S模式,將B/S與C/S的優勢完美地結合起來,應用系統既能以B/S的方式發布運行,同時又具有C/S方式的極強的可操作性。

Native APP開與Web APP開發對比

Web APP(嵌入型APP),Web App 指採用Html5語言寫出的App,不需要下載安裝。類似於現在所說的輕應用。生存在瀏覽器中的應用,基本上可以說是觸屏版的網頁應用。

優點

(1)開發成本低,

(2)更新快,

(3)更新無需通知用戶,不需要手動升級

(4)能夠跨多個平台和終端。

缺點

(1)臨時性的入口

(2)無法獲取系統級別的通知,提醒,動效等等

(3)用戶留存率低

(4)設計受限制諸多

(5)體驗較差

Native App(原生型APP),Native APP 指的是原生程序,一般依託於操作系統,有很強的交互,是一個完整的App,可拓展性強。需要用戶下載安裝使用。

優點

(1)打造完美的用戶體驗

(2)性能穩定

(3)操作速度快,上手流暢

(4)訪問本地資源(通訊錄,相冊)

(5)設計出色的動效,轉場,

(6)擁有系統級別的貼心通知或提醒

(7)用戶留存率高

缺點

(1)分發成本高(不同平台有不同的開發語言和界面適配)

(2)維護成本高(例如一款App已更新至V5版本,但仍有用戶在使用V2, V3, V4版本,需要更多的開發人員維護之前的版本)

(3)更新緩慢,根據不同平台,提交–審核–上線 等等不同的流程,需要經過的流程較複雜

在PC時代,桌面上大家和外界互通的入口,其實基本是瀏覽器。PC時代的Web,已經滿足了大家一切非移動特性上的互聯網需求,但隨著移動互聯網的技術發展,IOS和Android手機迅速佔領大家的日常生活,而移動互聯網同時帶來了另一個新的東西,叫做Native App(原生應用,簡稱NA),眾多NA滿足了大家在手機上的需求,並快速覆蓋了各種互聯網垂直行業。在此過程中也有極少數超級NA佔據了移動互聯網的半壁江山。

移動互聯網操作系統的技術生態同時也改變了Web,在手機上,Web不再是唯一的互聯網入口,大家通過在桌面上放置五花八門的APP來滿足日常的需求。移動互聯網也讓PC時代的Web不再那麼風光,潛移默化的,大家也都使用開發NA而不是開發Web頁面的方式來服務用戶了。

那為什麼眾多開發者會覺得現在移動互聯網的Web頁面不好呢?原因總結如下: 1.手機桌面入口不夠便捷; 2.沒網路就沒響應,不具備離線能力; 3.不像APP一樣能進行消息推送。 除此之外,作為前端碼農的我也發現眾多Web開發者都是PC時代轉行的,移動互聯網手機的特性,要求了大家需要寫更好的代碼,才能做好一個Web頁面,也就是我們所說的Web App。

Web App會好嗎? 我想回答:Web App會好。 讓我們再回顧一下之前所講述,我們先論述了為什麼有人覺得小程序好,這裡得到的結論是拋除微信本身的能力,小程序好的原因其實是因為它具備了幾個Web頁面的關鍵特性(無需安裝下載、用完即走),其次我們也講述了為什麼現階段的Web App不夠好,一方面是因為Web缺少了一部分NA的能力(離線,桌面入口,消息推送),另一方面是因為Web的開發者(特別是國內的)綜合能力欠缺,缺乏具備開發一個好的Web App的能力。

那基於以上的回顧,我們發現Web App可以變得更好。我的感覺就像開頭所說一樣:隨著各大互聯網平台發力基於Html5 Web的應用,我們發現對Web App的支持越來越接近原生,包括:1. 離線緩存 2. 添加到主屏 3. 消息推送基於以上能力,一個Web App基本上可以媲美一個Native App,同時,它還具備了我們渴望的特性:1. 無需安裝 2. 用完即走很激動有木有!! 贅述了這麼多,我們回顧本文的標題,也是一開始留下的問題: 問:前端工程師的新選擇? 答:肯定的!我們可以使用開發的、標準的Web解決方案, Web App的未來,它是開放的、不封閉的,它可以做的更好,也許比原生的還要出色!

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 螞蟻HTML5 的精彩文章:

快應用VS小程序,HTML5VS原生,移動互聯網之爭!

TAG:螞蟻HTML5 |