微信小程序與原生的App(iOS、Android)的優點對比

        小程序也屬於App的一種,那麼它和咱們如今流行的原生App(IOS、Android)相比,有什麼區別和優點呢?小程序

1、區別與優點

        首先,從技術上來說,目前App的主流開發方式有三種:Web App 、Native App 和 Hybrid App。好比:緩存

  • Web App 

        在微信」發現「裏面有一個」購物「入口,點進去打開的是京東的移動購物頁面,這個頁面實際上就是一個Web App。支付寶的衆多小服務也是Web App,這類App其實就是咱們常常在PC上瀏覽的網頁,只不過加入了響應式的設計讓它適合在移動端顯示和運行,所採用的技術依然是 JavaScript、CSS 和 HTML。相對於其餘兩種APP,Web App 具備開發簡單、高效,更新靈活、跨平臺、大量的網頁應用稍做調整便可放在移動端運行。但缺點與優勢並存,Web App 性能、體驗極差,沒法使用照相機、系統通知、本地緩存等原生特性微信

  • Native App 

        Native App 也稱原生 App 。這種 App 不是採用 JavaScript、CSS 及 HTML 開發,而是使用 Objective-C (IOS) 或者 Java (Android) 開發。微信、支付寶 等都屬於這類 App,是目前主流的開發方式。Native App 具備性能、體驗很是良好,組件支持完善、接口豐富等特色。但Native App 最大的缺點在於,不能跨平臺,有多少個平臺就要開發多少版本,如今主要有 IOS 和 Android 兩個主流平臺,還好 Windows Phone 已沒了蹤跡。模塊化

  • Hybrid App

        Hybrid App 也稱爲混合式 App 。Hybrid App 看上去像一個 Native App,但實質上 Native 技術在這裏只是做爲一個容器,將 Web App 包裹了起來,在容器內部實質運行的仍是網頁。Hybrid App 更像是 Web App 與 Native App 的混合體。與純粹的 Web App 相比,Hybrid App 會有一部分訪問原生組件(相機、加速器)的能力。事實上,目前主流的應用中,純粹的原生的 App 不多,絕大多數都屬於混合式 App 。好比,常見的京東、淘寶等電商類 App ,因爲商品及業務變化很是頻繁,須要常常調整,因此這類 App 的主要頁面都是採用 Web 技術來構建,只是用 Native 包裝了一下。Hybrid App 具備接近於 Native App 的體驗、開發效率高、跨平臺等特性。工具

        那咱們如何界定,哪些 App 屬於「原生」,哪些 App 屬於「混合」呢?這個要看 Web 頁面在 App 中所佔的比例,若是絕大多數頁面都採用 Web 技術構建,那麼咱們稱爲混合式 App ;而若是隻有少數頁面採用 Web 技術,咱們稱爲原生應用。性能

        那麼小程序屬於以上三種的那一種?嚴格意義上來講,它不屬於以上三種中的任何一種,在實現的技術上小程序同傳統的 Hybrid 仍是有很大的不一樣的。小程序採用 JavaScript 和 CSS 這類常見的 Web 技術開發,但它又不使用 HTML ,它同 Web 沒有直接的聯繫。小程序其實是將一系列本身定義的組件編譯成了對應平臺(IOS、Android、PC)的相應可運行組件,以提升運行性能。若是必定要將小程序歸併到以上三類 App 中,可能 Hybrid App 更合適:非原生,但使用到了 Web 技術(JavaScript 和 CSS)。開發工具

        相比於 Native App,小程序具備 Hybrid App 的一些優點:spa

  • 跨平臺(對於 iOS 和 Android 兩個平臺只須要開發一套程序)
  • 具有接近於 Native App 的體驗
  • 對原生組件有訪問能力
  • 具有緩存能力
  • 上手容易,開發邏輯較爲簡單

        同時,小程序還具備一些它獨有的特色:設計

  • 小程序在設計時就作了不少約定式的規
  • 開發環境很乾淨,無需安裝任何除開發工具外的其餘的軟件
  • 發佈和部署流程很是簡單,幾乎是「傻瓜式」,點擊下就能夠將應用發佈到騰訊雲
  • 小程序具備微信自然的關係鏈與獲客能力(這也是小程序最大的優點)

        可是,時間沒有完美的事物,計算機世界裏也沒有完美的技術,你覺得的優點在另外一方面卻成了缺點:接口

  • 小程序爲了簡化複雜性,作了一些 UI 上的設計規範,確實方便了不少對 UI 要求不高的應用。但也限制了那些對 UI 要求極高的產品發揮
  • 不支持現有的 HTML DOM 結構,而是本身給出了一系列的組件,造就了一個封閉的開發環境
  • 小程序只實現了模塊化,並無實現自定義組件,這是最使人不滿意的地方

2、小程序會淘汰原生 APP 麼

        不會。連 Hybrid App 都沒法撼動 Native App 的地位,又況且小程序自己只是 Hybrid App 的一個子集,運行在微信這個 Native App 之下呢?除了 Hybrid App 自己與 Native 技術的差距,微信對小程序還附加了諸多限制和自身定位也很是明確——作低頻和業務邏輯不復雜的應用。

相關文章
相關標籤/搜索