天天看點

webapp/H5封裝,混開APP,沒有原生APP好?事實是這樣的嗎?

混開APP沒有原生APP好?事實是這樣的嗎?很多人要混淆概念,伊凡今天用通俗易懂的話讓大家明白其中奧妙。

一、H5app(也叫H5封裝)H5APP你可以了解成我是一個手機網頁,以前的手機版網頁叫做wap,為什麼現在叫做H5?因為H5全稱html5具有很多優性能且在前端的相容方面非常良好,而目前有大量的前端架構諸如vue.js,bootstrap,H5的性能逐漸提升,現在前端已經代替了很多曾經是需要後端做的事情,我們将網頁打包放在一個APP殼裡面,裡面的内容依然是要從服務端讀取所有前端,是以H5在app上的加載依然是像網頁樣的加載,大多還有進度條,相對性能還是略微遜色那麼一點點,而且由于殼子的技術不成熟會導緻有些功能會不可用。但是H5又有着他自身的優勢,那麼就是直接在手機浏覽器我也能打開,曾經wap端很多都是自己開發,而每個公司開發有每個公司自己的bug,他沒有一個标準化的東西,而架構問世的時候引起軒然大波,現在看來架構的優勢完全展現,你不用架構你的基礎不一定有那麼好,頂級的程式做着頂級的架構,再由全世界的開發者共同貢獻智慧一起去完善,你說你不用架構還自己瞎開發什麼呢?(很多時候看不清時代的進度,根深蒂固的思想跟不上就會被淘汰!)

舉例:A是蘋果園區(代表服務端),B是賣蘋果的商店(終端),C是購買蘋果的使用者(通路使用者),d是一個商場(代表第三方封裝APP,打包APP的服務商)

好,那麼 原先通路網頁就是

C走進來到B商店裡面說要購買蘋果,商店B就去A蘋果園區采摘,然後把蘋果拿回來再賣給C客戶。

封裝以後就是, C走進來到B商店裡面說要購買蘋果,商店B就去A蘋果園區采摘然後放在D商場裡面,然後把蘋果再賣給C客戶。本質上沒有差別!

原本使用者通路如圖所示。那麼H5封裝成APP以後如圖所示

缺點:和H5通路本身并無差別,是以H5的缺點就是webAPP的缺點

二、混合開發APP

先說為什麼有了這個理念,這是網際網路開發的時代進步,真正的混開目前有很優秀的架構例如就是阿裡旗下的uniapp,這一步其實就比較厲害了,所有的前端檔案全在本地,而他們的前端架構依然可以選用優質的H5架構諸如VUE,諸如boostrap。還是那句話,這麼優秀的世界級的架構會沒有單獨的個體公司開發的産品強麼,答案是不可能。未來都是大趨勢,拿PHP來說,php的架構有thinkphp為首的架構難道不是一步步成熟麼?所謂網上傳聞說架構不可修改功能那就錯了,理論上架構的自由度是無限的,他隻是一個很底層的架構,可能真正描述不能二開的那種是第三方平台的固定式模版形式的架構,那個肯定不行,隻要開發商不開放開發那肯定沒法二開。

而真正混合app為什麼是混合,其實他的前端也是在本地的哦,和原生app的差別在于省去了原生app底層的那步驟,

舉例:

A是蘋果園區(代表服務端),B是賣蘋果的商店(終端),C是購買蘋果的使用者(通路使用者),E地産商騰出一個空地,有無數的F商人,G商人,H商人.....等等若幹商人。

圖就像:

簡單就是C使用者要來買蘋果,E地産商騰出來了一塊地,有無數的FGH等等若幹商人在A蘋果園區去購買了蘋果在E這塊地上來擺攤,當使用者C去買蘋果隻需要到E這塊大集市上面就可以自由的購買任何商品了。E的工作就是不斷地規範這塊地,門衛啊管理制度啊,進出門啊等等等等,慢慢不斷的完善。

那很簡單了,混合開發的性能會比原生的差麼?答案肯定是否定的,目前還尚無定論,但是有一點不得不承認就是E地産商因為是個新興的事物,他在管理這塊地是毫無經驗的,畢竟這是跨時代的,那麼肯定多多少少存在着管理的問題,地不平,對擺放規劃的有些地方不合理,造成了很多很多的bug。

是以特别是混開剛開始推出的時候問題特别多,但是随着時間的推移,畢竟地産商的維護是所有FGH若幹商人加上地主人一起來維護和建立的,是以時間并不長而地的規劃變的合理了。

是以個人認為其實未來混合開發APP就像當年所有程式看不上PHP一樣的,他會成為主流,畢竟一切大時代趨勢就是節源開流,開源開放最後統一。

優點:随着技術不斷地更新,與原生性能并沒有太大的差別,但開發速度和維護方式以及開發成本原生是永遠不可及的。

缺點:照這樣說那混合開發app是沒有缺點了哦?肯定不是,制作動畫或者遊戲目前是不行的,但是未來呢,說不清楚,總會有一天要冒出來個未知的“地産商”來打造這個。

三、原生APP開發

原生APP是什麼?原生APP就是利用Android、iOS平台官方的開發語言、開發類庫、工具進行開發。比如安卓的java語言,iOS的object-c 語言。在應用性能上和互動體驗上應該是最好的。

優點:

1、可通路手機所有功能、可實作功能最齊全;

2、運作速度快、性能高,絕佳的使用者體驗;

3、支援大量圖形和動畫和重新發現,不卡,反應快。

4、比較快捷地使用裝置端提供的接口,處理速度上有優勢。

缺點:

開發成本高,周期時間長,而且是測試會比較麻煩,每次修改都需要重新測試一次,維護方面也是比較辛苦的。