Native App, Hybrid App, Web App对比
- 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 | 适用范围广,跨平台; 开发成本较低; 可以方便,快速地部署; 用户随时访问最新版本; |
用户体验差(加载慢,费流量); 图形和动画渲染效果差; 不能调用系统相关功能(相机,GPS等); |
| 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对比的更多相关文章
- 原生APP与移动Web App的比较
中国手机网民已超4.5亿,智能机用户超过3.8亿,中国移动互联网市场产值已超过712.5亿元,手机营销是未来必然趋势,而App恰恰是这个趋势下的一个强有力的营销工具: App已有两个主要的方向:原生A ...
- Native App开发 与Web App开发(原生与web开发优缺点)
Native App开发 Native App开发即我们所称的传统APP开发模式(原生APP开发模式),该开发针对IOS.Android等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是 ...
- Web app制作细节:web app互动制作技巧
Google .微软.苹果三大巨头紧锣密鼓地在web app的研发产品领域圈地设岗,并试图建立以自己为中心的”云“服务平台,企图在web app时代到来的时候充当霸主.本文将围绕web app的制作, ...
- [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 ...
- 聊聊Web App、Hybrid App与Native App的设计差异
目前主流应用程序大体分为三类:Web App.Hybrid App. Native App. 一.Web App.Hybrid App.Native App 纵向对比 首先,我们来看看什么是 Web ...
- 超赞!聊聊WEB APP、HYBRID APP与NATIVE APP的设计差异
编者按:这3类主流应用你都了解吗?设计师除了要有视觉功夫,对不同形式的APP也应当了然于胸,今天百度的同学写了一篇非常全面的总结,帮你迅速搞定3类主流APP的设计方法,附带一大波避雷针,带你巧妙跳过A ...
- 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理
[微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...
- Hybrid APP基础篇(二)->Native、Hybrid、React Native、Web App方案的分析比较
说明 Native.Hybrid.React.Web App方案的分析比较 目录 前言 参考来源 前置技术要求 楔子 几种APP开发模式 概述 Native App Web App Hybrid Ap ...
- Web App、Hybrid App与Native App的设计差异
目前主流应用程序大体分为三类:Web App.Hybrid App. Native App. 一.Web App.Hybrid App.Native App 纵向对比 首先,我们来看看什么是 Web ...
- 聊聊Web App、Hybrid App与Native App的设计差异(转)
目前主流应用程序大体分为三类:Web App.Hybrid App. Native App. 一.Web App.Hybrid App.Native App 纵向对比 首先,我们来看看什么是 Web ...
随机推荐
- 调用DEDE日期时间格式整理大全
dedecms 日期时间格式大全,大家可以根据需要选择.DEDECMS利用strftime()函数格式化时间的所有参数详解,包括年份日期进制.小时格式等,大家收藏吧,呵. 日期时间格式 (利用strf ...
- 一次线上OOM故障排查经过
转贴:http://my.oschina.net/flashsword/blog/205266 本文是一次线上OOM故障排查的经过,内容比较基础但是真实,主要是记录一下,没有OOM排查经验的同学也可以 ...
- mysql 找不到或无法加载已注册的 .Net Framework Data Provider
需要安装 mysql-connector-net-6.7.4.msi 在C盘安装mysql的位置找到三个DLL,复制到Bin文件夹下 在C:\Windows\Microsoft.NET\Framewo ...
- Codeforces Round #116 (Div. 2, ACM-ICPC Rules) C. Letter 暴力
C. Letter Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/180/problem/C D ...
- 浅谈Java对象回收的三种方式
半夜睡不着,加上最近在看Java虚拟机,写点给新手和自己看的东西. 第一类:生命周期中止 void scope(){ Test t = new Test(); } 第二类:对象无引用 (一).对象的应 ...
- [AngularJS] Isolate State Mutations in Angular Components
Managing state is one of the hardest things to do in any application. Angular 2 tackles this problem ...
- 169 Majority Element [LeetCode Java实现]
题目链接:majority-element /** * Given an array of size n, find the majority element. The majority elemen ...
- HBuilder:最快的Web开发IDE
这里给大家介绍一个个人觉得最好用的web开发工具:Hbuilder. HBuilder是DCloud推出的一款支持HTML5的Web开发IDE.快,是HBuilder的最大优势,通过完整的语法提示和代 ...
- Python学习 之 匿名函数
1.匿名函数(lambda函数):lambda函数是一种快速定义单行的最小函数,是从Lisp借用来的,可以用在任何需要函数的地方. 普通函数定义如下: def f(x,y): return x*yf( ...
- spring源码分析之spring-web web模块分析
0 概述 spring-web的web模块是更高一层的抽象,它封装了快速开发spring-web需要的基础组件.其结构如下: 1. 初始化Initializer部分 1.1 Servlet3.0 的 ...