微信小程序与原生的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 技术的差距,微信对小程序还附加了诸多限制和自身定位也很是明确——作低频和业务逻辑不复杂的应用。

相关文章
相关标签/搜索