caoporm97国产在线视频|欧美性XXXXX精品|一本一道久久a久久精品综合开|精品久久久久久久久久久AⅤ|

十年專注于品牌網(wǎng)站建設 十余年專注于網(wǎng)站建設_小程序開發(fā)_APP開發(fā),低調(diào)、敢創(chuàng)新、有情懷!
南昌百恒網(wǎng)絡微信公眾號 掃一掃關注
小程序
tel-icon全國服務熱線:400-680-9298,0791-88117053
掃一掃關注百恒網(wǎng)絡微信公眾號
掃一掃打開百恒網(wǎng)絡微信小程序

百恒網(wǎng)絡

南昌百恒網(wǎng)絡

小程序與原生App(iOS、Android)的優(yōu)劣對比

小程序與原生App(iOS、Android)的優(yōu)劣對比 百恒網(wǎng)絡 2018-08-15 14740

小程序與原生App(iOS、Android)的優(yōu)劣對比一


  小程序也屬于App的一種,那么它和我們現(xiàn)在流行的原生App(iOS、Android)相比,有什么區(qū)別和優(yōu)勢呢?


  首先,從技術上來講,目前App的主流開發(fā)方式有三種:Web App、Native App和Hybrid App。我們舉幾個例子來看看:

  ·Web App


  在微信“發(fā)現(xiàn)”里面有一個“購物”入口,點擊進去打開的是京東的移動購物頁面,這個頁面實際上就是一個Web App。支付寶的眾多小服務也是Web App,還有“海底撈”在微信中的排號應用,這類App其實就是我們經(jīng)常在PC上瀏覽的網(wǎng)頁,只不過加入了響應式的設計讓它適合在移動端顯示和運行,所采用的技術依然是JavaScript、CSS和HTML。相對于其他兩種App,Web App具有開發(fā)簡單、高效,更新靈活、跨平臺,大量的網(wǎng)頁應用稍作調(diào)整即可放在移動端運行。但缺點與優(yōu)點并存,Web App性能、體驗極差(對,是極差),無法使用照相機、系統(tǒng)通知、本地緩存等原生特性。

  ·Native App


  也稱為原生App。這種App不是采用JavaScript、CSS及HTML開發(fā),而是使用Objective-C(iOS)或者Java(Android)開發(fā)。微信、支付寶、斗魚TV等都屬于這類App,是目前主流的開發(fā)方式。Native App具有性能、體驗非常良好,組件支持完善、接口豐富等特點。但Native App最大的缺點在于,不能跨平臺,有多少個平臺就要開發(fā)多少個版本,現(xiàn)在主要有iOS和Android兩個主流平臺,還好Windows Phone已沒了蹤影。

  ·Hybrid App


  也稱為混合式App。Hybrid App看上去像一個 Native App,但實質(zhì)上 Native技術在這里只是作為一個容器,將 Web App包裹了起來,在容器內(nèi)部實質(zhì)上運行的還是網(wǎng)頁。 Hybrid App更像是Web App與Native App的混合體。與純粹的Web App相比,Hybrid App會有一部分訪問原生組件(相機、加速器)的能力。事實上,目前主流的應用中,純粹的原生App很少,絕大多數(shù)都屬于混合式App。比如,我們常見的京東、淘寶等電商類App,由于商品及業(yè)務變化非常頻繁,需要經(jīng)常調(diào)整,所以這類App的主要頁面都是采用Web技術來構建,只是用Native包裝了一下。那我們?nèi)绾谓缍ǎ男〢pp屬于“原生”哪些App屬于“混合”呢?答案是:看Web頁面在App中所占的比例,如果絕大多數(shù)頁面都采用Web技術構建,那么我們稱為混合式App;而如果只有少數(shù)頁面采用Web技術,我們稱為原生應用。舉個例子,今日頭條這類新聞應用中絕大多數(shù)頁面都采用原生技術實現(xiàn),我傾向于稱它為Native App;而對于淘寶、京東等App,更傾向于是Hybrid App。Hybrid App具有接近于 Native App的體驗、開發(fā)效率高、跨平臺等特性。

  有一些開發(fā)者認為微信服務號里的網(wǎng)頁應用也屬于Hybrid App,這種說法也不無道理。因為這些網(wǎng)頁應用也屬于微信這個Native應用的一部分,同樣運行在微信內(nèi)置的瀏覽器中,但這是一個App所有者的問題。對于微信,確實是Native App中加入了部分“網(wǎng)頁”,具有Hybrid App的特點。但我們上面講到,目前主流App里很少有純粹的Native App,是不是算作Hybrid App,應該看Web頁面在App中的所占比例。微信是一個以社交為主要業(yè)務的App,微信中的絕大多數(shù)核心社交與聊天功能都是原生的,所以我們還是稱微信為Native App。但是,對于服務號應用的開發(fā)者,微信并不是開發(fā)者開發(fā)的,開發(fā)者只擁有其服務號。而且服務號應用所用到的所有技術都只局限在Web技術里,從這一點來講,服務號的應用應該歸屬于Web App的范疇。

  此外,我們說Hybrid App具有一部分可以訪問原生設備組件的能力。微信的JS-SDK確實提供了一些如拍照、錄音、掃一掃等功能的接口,但相比于其他Hybrid App能調(diào)用的原生功能,實在是有限。從這個角度來講,也應該將這些服務號的應用歸屬到Web App中。

  其實,到底歸屬于什么并不重要?;ヂ?lián)網(wǎng)技術中的概念層出不窮,對很多事物的定義本來就不是很明確。這里用一些篇幅解釋3種主流類型的App,是希望大家在對比小程序和其他類型App時,能有一個較完整的知識背景。

  那么小程序?qū)儆谝陨?種的哪一種?嚴格意義上來說,它不屬于以上3種中的任何一種,在實現(xiàn)技術上小程序同傳統(tǒng)的Hybrid還是有很大的不同的。小程序采用Java Script和CSS這類常見的Web技術開發(fā),但它又不使用HTML,它同Web沒有直接的聯(lián)系。小程序?qū)嶋H上是將一系列自己定義的組件編譯成了對應平臺(iOS、Android、PC)的相應可運行組件,以提高運行性能。如果一定要將小程序歸并到以上3類App中,可能Hybrid App更合適:非原生,但使用到了Web技術(JavaScript和CSS)。

  相比于Native App,小程序具有Hybrid App的一些優(yōu)勢:

  ·跨平臺(對于iOS和 Android兩個平臺只需要開發(fā)一套程序)。

  ·具備接近于Native App的體驗(注意只是接近)。

  ·對原生組件有訪問能力。

  ·具備緩存能力。

  ·上手容易,開發(fā)邏輯較為簡單。

  同時,小程序還具有一些它獨有的特點:

  ·小程序在設計時就做了很多約定式的規(guī)范:比如簡單的文件結構、默認的文件命名、內(nèi)置好的Tab欄與導航欄等,這讓小程序的初學者更容易上手和理解。

  ·開發(fā)環(huán)境很干凈,你無須安裝任何除開發(fā)工具外的其他軟件。當然現(xiàn)在這個工具簡陋的可怕,很多常見的IDE功能都不具備,但相比于其他Hybrid App的環(huán)境要求,小程序這點真的很棒。

  ·發(fā)布和部署流程非常簡單,幾乎是“傻瓜式”,點擊幾下就可以將應用發(fā)布到騰訊云。

  ·小程序之所以在公布后引起了互聯(lián)網(wǎng)圈兒和開發(fā)者們極高的關注度,原因并不在技術上,無數(shù)開發(fā)者、創(chuàng)業(yè)者看中的是微信天然的關系鏈與獲客能力。這也是小程序最大的優(yōu)勢。

  但是,世間沒有完美的事物,計算機世界里也沒有完美的技術,你以為的優(yōu)勢在另一方面卻成了缺點。我們一起來看下:

  ·小程序為了簡化復雜性,做了一些UI上的設計規(guī)范,確實方便了很多對UI要求不高的應用。但這也限制了那些對UI要求極高的產(chǎn)品發(fā)揮。

  ·小程序很遺憾地不支持現(xiàn)有的HTML DOM結構,而是自己給出了一系列的組件,造就了一個封閉的開發(fā)環(huán)境,這直接導致了現(xiàn)有的經(jīng)典Java Scripti框架、類庫都無法使用。小程序現(xiàn)在的生態(tài)幾乎是荒蕪一片,等待著開發(fā)者們?nèi)ジ牛ㄌ魬?zhàn)與機遇并存,正因為沒有,才有機會)。如果你想用小程序?qū)崿F(xiàn)一組圖形來展現(xiàn)股票或者天氣的曲線,目前來看,相當煩瑣。你無法使用經(jīng)典的eckart或者highchart,你只能自己用Canvas來一點點地繪制。

  ·截至至今,小程序還不支持Web View,這是相當頭疼的一個問題?,F(xiàn)在很多新聞類型的應用,都是將文章數(shù)據(jù)靜態(tài)化成HTML存儲在服務器或者是CDN中,然后再利用Web View直接加載這個HTML來顯示。不支持Web View直接導致了很多內(nèi)容型應用沒辦法加載已存在的大量HTML頁面。內(nèi)容型應用現(xiàn)在大量的靜態(tài)化頁面需要被轉(zhuǎn)化(已有一些第三方的組件實現(xiàn)了HTML轉(zhuǎn)WXML,基本思路是用正則表達式替換HTML,但效果并不能讓人滿意)。至于微信會不會官方支持,這個很難抉擇。不支持Web View對現(xiàn)在的靜態(tài)化HTML頁面是致命的打擊;但兼容Web View就意味著在小程序里你還可以運行Web App,而Web App很難去監(jiān)管,性能體驗也不夠好,這對于小程序的發(fā)展是不利的。也許開放一個只解析CSS不允許運行JavaScript的Web View可能是個不錯的選擇,微信如何平衡這個問題,我們拭目以待。

  ·小程序只實現(xiàn)了模板化并沒有實現(xiàn)自定義組件,這是最令人不滿意的地方。如果我們想實現(xiàn)一個自定義邏輯的組件,通常希望把這個組件的標簽、樣式以及業(yè)務邏輯打包在一起,然后可以放在項目中多個地方使用。外部客戶端調(diào)用組件時,只需要傳入組件所需要的參數(shù),由組件自己來完成數(shù)據(jù)獲取、轉(zhuǎn)化、綁定并和UI層通信等操作。但小程序里的template只能將標簽和樣式(WXML和WXss文件)提取出來作為一個模板”,卻無法把組件的業(yè)務邏輯(js文件)放在一起。也就是說,組件的業(yè)務邏輯不能夠?qū)懺诮M件的模塊兒中,只能寫在“調(diào)用”組件的業(yè)務代碼中,這就無法很好地復用組件的業(yè)務代碼。

  我們用表格來對比小程序和現(xiàn)在主流App的優(yōu)劣勢。


小程序與原生App(iOS、Android)的優(yōu)劣對比二

400-680-9298,0791-88117053
掃一掃關注百恒網(wǎng)絡微信公眾號
掃一掃打開百恒網(wǎng)絡小程序

歡迎您的光顧,我們將竭誠為您服務×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務 售后服務
 
售后服務 售后服務
 
備案專線 備案專線
 
×