Web App和Native App不是生死之爭 而是可以和平共處!
一直以來,關於Web App和Native App之爭總是不絕於耳,本文作者則認為HTML5的Web App和Native App誰都不會幹死誰,它們將和平共處,各自發揮各自的強項,讓整個網際網路更美好。(注:本文不針對任何人和任何公司,純屬技術和業態範圍內的討論。)
最近看了一篇關於“反思HTML5慘痛的500天和四個謊言”的文章,感覺裡面有很多觀點有問題,可能會對讀者產生一些誤導。整篇文章都是在“黑”HTML5(非常符合Native App開發公司的口味),但是HTML5真的有那麼不堪嗎?這場所謂的戰役是不是被曲解了?
拋開其它不說,首先HTML5是一項技術,作為技術而言,沒有“善惡”之分,大家應該思考的問題是這項技術是否先進?運用在那些領域?這項技術衍生於什麼技術?是否能和其它技術配合使用(技術環境如何)?是否替代其它技術?這項技術是否被市場接受?以及這項技術的發展方向?等等
其次,技術是一個理性的東西,儘可能用尊重科學、遵循客觀邏輯的方式來討論技術,可能會看得更加長遠一點。
還有一點,就是以發展的眼光來看待技術本身,討論的是未來。哲學家說過“存在的,都是合理的”,但是卻沒有說過“存在的,都會永遠存在下去”。其實就是這麼一個問題,很多時候,任何新技術在起到顛覆作用之前,舊的業態,舊的技術就已經存在,而且可能規模很大,但是這並不能因為新生的技術有瑕疵就否定新技術未來發展壯大的可能。
舉一個簡單的例子,蘋果剛推出iPhone第一代的時候,遭到一片吐槽聲,摩托羅拉還譏笑說,這是手機嗎?那時大家還用著按鍵手機,而且也覺得非常好用,這個行業不會有啥大事兒。然而蘋果今天市值突破7000億美元了......摩托羅拉現在在哪兒?諾基亞也死了...... 反觀“黑”HTML5的這篇文章,我們能找到很多共同點。
HTML5取代的是誰?
HTML5取代的是很多很多年前產生的HTML版本。熟悉網際網路的人肯定清楚,網際網路可謂日新月異,但是支撐整個網際網路的語言HTML,在HTML5之前卻變化不大,這嚴重阻礙了網際網路本身的發展,這才是產生HTML5的一個根本原因。因此,主觀的把整個Native App行業和HTML5對立起來,這本身就是有問題的,這一槍打得有點偏!
讓HTML5自己的資料和大家的所見所聞說話
我們一起來思考這樣幾個觀察:
1. 在我開頭提到的文章中,作者用了一張2012的HTML5的搜尋指數的一張圖,可是為什麼要引用一張2012年下半年這個兩年多前一個特定時段的圖呢?(我想肯定有作者自己的原因,我在這裡不做推敲)
看看吧,這才是最近半年的資料!
圖一
2. 大家有沒有發現現在手機端、微信端好玩的內容越來越多了,比如神經貓?尋找房祖名?這些內容可都是HTML5的。大家真心覺得那些內容的使用者體驗真的很差嗎?(用iPhone4以前或同等機型的朋友請跳過)
3. 程式設計師有沒有發現前端的工資越來越高,特別是會HTML5的?而前幾年特別或的Android和iOS開發工程師,最近卻不是那麼吃香?
4. 客戶不在為傳統媒體買單,要求更多的手機端或是新媒體的創意,更多的互動內容。
5. 有大量的HTML5開發的公司順勢而生,做大量的Web App應用。
6. 更重要的是,我們想想幾年前,蘋果處理器是A4,A5,現在都A8了,幾年前,瀏覽器跑一個純HTML5的應用確實比較慢,但是你用iPhone5s試試,不要說iPhone6了,跑得唰唰的。裝置、系統、瀏覽器都在進步,對HTML5的支援也越來越好。
這些因素從客觀上都推動了HTML5的發展!除了主觀上把HTML5當競爭對手的Native App公司。
原文中,多次提到了HTML5的堅定支持者蘋果公司,說AppStore不建議內部封裝HTML5,這個論點其實很好理解,都用HTML5了,蘋果自己的Objective C開發語言就被跳過去了,他們自然不願意。但事實上蘋果並明令禁止HTML5,現在每天仍有大量的HTML5應用被封裝到Native APP中,在AppStore中發售,作者的這個論點與蘋果本身的戰略和iOS自身的封閉性有關,並非HTML5之錯呀!
原文中,還多次提到了Facebook,棄用HTML5的事件,我搜了一下發現這篇報導:
圖2
這篇報導說明了什麼?並不是Facebook本身不用HTML5了,而是Facebook這個App不直接採用HTML5的方式開發。這兩者的區別可就太大了,這也引出我的下一個問題。
HTML5適合做所有的東西嗎?
我是HTML5的堅定支持者,但我現在也還不認為HTML5可以做所有東西,至少一些太過複雜的重度遊戲、一些大型的門戶(包括上面說的Facebook)、一些涉及高運算或複雜演算法的應用,我個人認為現階段確實還不適合用HTML5開發。
HTML5畢竟跑在瀏覽器裡面,和系統隔一層,執行效率肯定要比Native App低一點,這個很正常,但是每個人在手機端消費的內容中,絕大部分都不需要消耗太多的CPU資源。也就是說99%以上的手機端的需求HTML5是完全可以去支援的很好的。
借Web App的“謊言”——淺談一下Web App的優勢
我一直在強調Web App就是一個技術,技術本身不說謊。原生的App經過這些年的發展,已經相當規模,原文作者也反覆強呼叫戶體驗,但大家想想你遇到過這些情況嗎?
- 現在App Store裡面有好幾百萬個Native App應用,你的手機裡面有幾個?你常用的又有幾個
- 有沒有這樣的場景,經常為了一些特定的場景需要安裝App,然後用完就刪?
- 你會不會因為下載麻煩,不去掃電視下面的二維碼?
因此即使是原生APP,也不可避免的存在一些體驗上的矛盾,例如:使用者有限的手機App介面和無限的App數量;使用者有限的時間和無限App的學習成本;原生App的維護成本相對較高,下載要等、更新要等、佔手機大量的記憶體。
而從以上幾個問題的角度看來,Web APP恰恰都佔據優勢。此外很重要的一點就是APP中的內容產生和應用製作的成本問題,HTML5 Web App具有明顯優勢,除了HTML5語言本身就較容易學習之外,現在市面上通過一些好的輕應用製作工具,如VXPLO、Google的Web Designer、Epub360、Adobe Edge等等。利用這些工具,普通人甚至不需要懂得HTML5的語言,就可以簡單生成大量的Web App和HTML5互動內容,且可以做電商、視訊應用甚至一些遊戲和較為複雜的互動場景,這將大大降低HTML5 Web App的生產成本。
大家應該記得蘋果手機真正流行起來是因為其中Native APPs變得豐富了,使用者可以通過手機獲得各種內容。我相信同樣的情況在Web APP這個市場中也會發生,且發生的更快,因為HTML5的內容產生成本更低。
另外,從HTML5本身的技術角度看,包含HTML5 Javascript 2.0 以及CSS3,是一套完整的體系,除了已經基本退出舞臺的IE6,7,8以外,其它基本支援良好,而且會越來越好。HTML5也有豐富API,支援類似加速度感應、LBS等的應用,可以支援現有絕大部分互動應用。
那說了這麼多,有沒有可能HTML5接著壯大,Native App也不死呢?這就是我要說的下一個問題。
我相信的一種可能……
HTML5的Web App和Native App,有沒有可能誰都不幹死誰,和平共處,各自發揮各自的強項,讓整個網際網路更美好呢?
不是把技術直接對立起來,而是用技術的方式來解決技術還存在的問題,從對立走向融合。
我們以微信為例,微信這個應用本身就是一個以即時通訊為主的Native App,但是在這個APP上,又是一個資訊聚合和傳播的平臺。這些資訊並不是具有私密性的聊天資訊,而更多的是照片,搞笑的段子,心靈雞湯,視訊,品牌故事,打折資訊等等五花八門的網頁資訊,這些資訊的載體實際上都可以算是一個HTML5 Web App,特別是現在有許多品牌做得非常好的H5頁面,給人新奇有趣的互動體驗又易於傳播。對於某些營銷突發事件,Web APP也更具靈活性,應變性。如剛過去的雙十一,雙十二,就有商家根據前幾個小時的銷售情況,利用VXPLO 一小時做完答謝顧客的輕APP,在微信及QQ上迅速傳播,及時調整營銷策略。很難想象,如果品牌投入每一波Campaign的時候,都要開發一個新的Native APP,要求使用者下載安裝,在時間和人力成本上都會產生具大的資源浪費。
像微信這樣,充分發揮Native App的執行效率,同時又以海量的Web App來擴充其內容,給使用者帶來更豐富的體驗和更優質的互動內容,這樣不是很好嗎?
在技術上好處也顯而易見,例如,HTML5不能自動播放語音或視訊,但是微信可以,微信可以給HTML5 Web App提供這個介面,這樣幾乎所有Native App的功能都可以在Web App中去實現。
HTML5本質就是更優質的網頁內容,這點本身不會有錯,如果顛覆HTML5的,那隻能是HTML6了,而且就HTML5形成的速度和以前的HTML存活的時間來看,可能要在接近十年以後了。
說了這麼多,其實,無礙乎兩點:
- 第一、在技術革命的浪潮中,反對技術冒進,同時也反對畏縮不前;技術發展不是國家、公司或個人可以阻擋的。
- 第二、很多爭論的結果都是融合,而不是走向對抗,發展中存在的問題,可以通過發展去解決。
另外,祝福HTML5,同時祝福為HTML5努力工作的人和使用HTML5的使用者!
作者簡介:孟智平,VXPLO互動大師 創始人及CEO。
相關文章
- 未來不是Web與App的生死之爭,而是Web和App的融合WebAPP
- Web App和Native App不是生死之爭——反思HTML5慘痛的500天和四個謊言WebAPPHTML
- web app和native app的區別WebAPP
- Web App、Hybrid App、Native App 橫向對比WebAPP
- 住手!你們不要再打了啦!Native和Web應該和平相處啊Web
- EF和Dapper之爭的關鍵APP
- 聊聊Web App、Hybrid App與Native App的設計差異WebAPP
- Native APP(原生應用)、Web App(Web應用)、Hybrid App(混合應用) 優缺點分析APPWeb
- Web不是未來會贏,而是已經贏了Web
- 《React Native高效開發》之create-react-native-appReact NativeAPP
- uni-app實現web-view和App之間的互相通訊APPWebView
- 到底getApplicationContext和getApplication是不是返回同一個物件?APPContext物件
- 這不是魔法:Flask和@app.route(2)FlaskAPP
- 這不是魔法:Flask和@app.route(1)FlaskAPP
- 探探社交、一對一交友APP不是偶然的選擇,而是社交市場的選擇APP
- 使用duxapp開發 React Native App 事半功倍UXAPPReact Native
- Espresso 執行前是否有辦法可以清空 APP 快取,而不是手動解除安裝 APPEspressoAPP快取
- React Native釋出APP之打包iOS應用React NativeAPPiOS
- 應用開發之爭:App終將回歸原生APP
- package html to native applicationPackageHTMLAPP
- 【初探IONIC】不會Native可不可以開發APP?APP
- ionicreact-native和native開發移動app到底那個好ReactAPP
- Native App及Hybrid App優缺點介紹!APP
- portal,cms,和web application比較WebAPP
- BI 7.0 之後的Bex Web ApplicationWebAPP
- React Native 仿開眼 AppReact NativeAPP
- Kotlin/Native 為 AppCode 開發了個外掛,你可以用 Kotlin 寫 iOS App了!KotlinAPPiOS
- apple-mobile-web-app-capable作用APPWeb
- 網頁APP和原生APP,都可以使用iOS簽名上架?網頁APPiOS
- 智慧手錶王者之爭:Apple Watch對比Moto 360APP
- 做個簡單的 React-Native application 處理舊書ReactAPP
- web_applicationWebAPP
- web與APP之間的互動—WebViewJavascriptBridgeAPPWebViewJavaScript
- React Native startReactApplication 方法簡析React NativeAPP
- 兩個web application的session可不可以公用WebAPPSession
- CSAPP =2= 資訊的表示和處理APP
- app後端和web後端的區別APP後端Web
- 可以正規壓足球的app 網上哪個app可以買足球比賽APP