• Native App,Hybrid App和Web App简介

  目前基本所有的移动互联网app可以分为三类:Native App,Hybrid App和Web App。

  Native App是基于智能手机操作系统API,使用原生语言编写的App;

  Web App是基于Web的系统或应用,使用的是HTML,JavaScript和CSS等网页相关语言编写的App;

  Native App则是融合了Native和Web,使用原生语言编写应用的外壳然后在其中内嵌网页语言编写的内容信息;

  • 三种模式对比:
Native,Web,Hybrid优缺点总结
  优点 缺点
Native 能够访问智能设备提供的所有功能;
支持离线工作;
更好的运行速度,性能和总体用户体验;
支持丰富的图形,动画和更好的渲染效果;
开发成本较高;
维护,更新成本高;
Web 适用范围广,跨平台;
开发成本较低;
可以方便,快速地部署;
用户随时访问最新版本;
用户体验差(加载慢,费流量);
图形和动画渲染效果差;
不能调用系统相关功能(相机,GPS等);
Hybrid 可调用智能设备相关功能;
部分支持离线功能;
维护,更新较为方便;
用户体验较差;
图形和动画渲染效果较差;
Native,Web,Hybrid对比
  Web Hybrid Native
开发成本
维护更新 简单 简单 复杂
体验
应用市场认可 不认可 认可 认可
安装 不需要 需要 需要
跨平台
图像渲染 HTML,Canvas,CSS 混合 本地API渲染
原生界面

模仿 部分原生,部分模仿 原生
原生API

不可调用 可调用 可调用
网络要求

全部依赖 大部分依赖 支持离线
  • 三种模式的使用选择:

  一般互联网公司的产品,内容更新快,变化大,对于难于维护和更新的Native模式,显然不太适合;

  Hybrid糅合了Native和Web,较为便于维护和更新,同时可以调用本地API功能,虽然性能仍然不及Native,但是随着H5的发展,使Hybrid在用户体验方面更加向Native靠近。显然这种方式,被越来越多的互联网公司接受并使用;

  Hybrid应用虽然好处多,但是仍然需要安装。且开发成本较Web方式,更大。为了让用户在Hybrid应用开发的空档期,或用户在没有安装Hybrid的智能设备上仍然可以使用自已的产品。因此Web App对于互联网公司来说一般也是需要的;

Native App, Hybrid App, Web App对比的更多相关文章

  1. 原生APP与移动Web App的比较

    中国手机网民已超4.5亿,智能机用户超过3.8亿,中国移动互联网市场产值已超过712.5亿元,手机营销是未来必然趋势,而App恰恰是这个趋势下的一个强有力的营销工具: App已有两个主要的方向:原生A ...

  2. Native App开发 与Web App开发(原生与web开发优缺点)

    Native App开发 Native App开发即我们所称的传统APP开发模式(原生APP开发模式),该开发针对IOS.Android等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是 ...

  3. Web app制作细节:web app互动制作技巧

    Google .微软.苹果三大巨头紧锣密鼓地在web app的研发产品领域圈地设岗,并试图建立以自己为中心的”云“服务平台,企图在web app时代到来的时候充当霸主.本文将围绕web app的制作, ...

  4. [Angular] Upgrade existing Angular app to Progressive Web App

    If you alread have an existing Angular application and want to upgrade to progressive web app. 1. In ...

  5. 聊聊Web App、Hybrid App与Native App的设计差异

    目前主流应用程序大体分为三类:Web App.Hybrid App. Native App. 一.Web App.Hybrid App.Native App 纵向对比 首先,我们来看看什么是 Web ...

  6. 超赞!聊聊WEB APP、HYBRID APP与NATIVE APP的设计差异

    编者按:这3类主流应用你都了解吗?设计师除了要有视觉功夫,对不同形式的APP也应当了然于胸,今天百度的同学写了一篇非常全面的总结,帮你迅速搞定3类主流APP的设计方法,附带一大波避雷针,带你巧妙跳过A ...

  7. 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理

    [微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...

  8. Hybrid APP基础篇(二)->Native、Hybrid、React Native、Web App方案的分析比较

    说明 Native.Hybrid.React.Web App方案的分析比较 目录 前言 参考来源 前置技术要求 楔子 几种APP开发模式 概述 Native App Web App Hybrid Ap ...

  9. Web App、Hybrid App与Native App的设计差异

    目前主流应用程序大体分为三类:Web App.Hybrid App. Native App. 一.Web App.Hybrid App.Native App 纵向对比 首先,我们来看看什么是 Web ...

  10. 聊聊Web App、Hybrid App与Native App的设计差异(转)

    目前主流应用程序大体分为三类:Web App.Hybrid App. Native App. 一.Web App.Hybrid App.Native App 纵向对比 首先,我们来看看什么是 Web ...

随机推荐

  1. django控制admin的model显示列表

    class goods(models.Model):    name = models.CharField(max_length=300)    price = models.IntegerField ...

  2. URAL 1776 C - Anniversary Firework DP

    C - Anniversary FireworkTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/c ...

  3. CSS3/jQuery自己定义弹出窗体

    简单演示一下,精简了演示效果和css样式文件,更利于在项目中的实际应用 引入style.css   index.js <!DOCTYPE HTML PUBLIC "-//W3C//DT ...

  4. cocos2d-x如何优化内存的应用

    自身以前也写过cocos2d-x如何优化内存的应用,以及内存不够的情况下怎么样处置惩罚游戏.今天在微博中看到有友好简介了下内存,挺详细的.不晓得是谁写的,我纪录下. 一,IOS与图片内存 在IOS上, ...

  5. 使用安卓读取sqlite数据库方法记录

    最近要实现android读取sqlite数据库文件,在这里先做一个英汉字典的例子.主要是输入英语到数据库中查询相应的汉语意思,将其答案输出.数据库采用sqlite3. 如图: 实现过程完全是按照参考文 ...

  6. 利用ajax获取到的网页源码不能执行js代码

    今天觉得我的博客中加载腾讯微博的速度很慢,所以就想改写为js,本来以为直接新建一个页面,把获取函数移到新的页面中,原来的页面只要使用xmlhttp去GET一下,然后把div的innerhtml属性等于 ...

  7. 一入python深似海--dict(字典)的一种实现

    以下是python中字典的一种实现.用list数据结构实现字典.详细是这种:[[(key1,value1),(key2,value2),...],[],[],...] 内部每个hash地址是一个lis ...

  8. 关于jquery ID选择器的一点看法

    最近看到一道前端面试题: 请优化selector写法:$(".foo div#bar:eq(0)") 我给出的答案会是: 1. $("#bar") 2.  $( ...

  9. 细看InnoDB数据落盘 图解 MYSQL 专家hatemysql

    http://hatemysql.com/?p=503 1.  概述 前面很多大侠都分享过MySQL的InnoDB存储引擎将数据刷新的各种情况.我们这篇文章从InnoDB往下,看看数据从InnoDB的 ...

  10. php编程中容易忽略的地方

    一:fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] ...