什么叫做原生App?

什么是混合app?

什么是Web App开发?

Native App开发即我们所称的传统APP开发模式(原生APP开发模式),该开发针对IOS、Android等不同的手机操作系统要采用不同的语言和框架进行开发,是专门针对某一类移动设备而生的,它们都是被直接安装到设备里, APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上,原生App而用户一般也是通过网络商店或者卖场来获取例如The App Store与Android Apps on Google Play。

 Hybrid App(混合模式移动应用)是指介于web-app、native-app这两者之间的app,
兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发和低成本的优势”。 Hybrid App主要以JS+Native两者相互调用
为主,从开发层面实现“一次开发,多处运行”的机制,成为真正适合跨平台的开发。目前已经有众多Hybrid App开发成功应用,比如百
度、网易、街旁等知名移动应用,都是采用Hybrid App开发模式。 
Web App开发即是一种框架型APP开发模式(HTML5 APP 框架开发模式),
该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需
安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。
 原生APP的优点    混合APP的优点  webAPP的优点

(1) 可访问手机所有功能(GPS、摄像头); (2) 速度更快、性能高、整体用户体验最

好; 
(3) 可线下使用(因为是在跟Web相对
地平台上使用的); 
(4) 支持大量图形和动画; 容易发现(在
App Store里面)和重新发现(应用图标会一直在主页上); 
(5) 应用下载能创造盈利(当然App Store抽取20-30% 的营收); (6) app质量及安全性好。 

(1) 原生应用和Web应用的结合体,应用比例很自由;

 (2) 开发成本低; 
(3) 能节省跨平台的时间和成本,只需编写一次核心代码就可部署到多个平台; 

(4) 可任意调整风格,DIV版面布局; 

(5) 兼容多平台; 
(6) 顺利访问手机的多种功能; 
(7) App Store中可下载(Web应用套用原
生应用的外壳); 

(8) 可线下使用。 

 (1) 运行到浏览器上,项目独立; (2) 跨平台开发工具选择多; (3) 不需要安装额外软件,控制版本非
常容易;
 缺点    

(1) 开发及维护成本高; 
(2) 支持设备非常有限(一般是哪个系统
就在哪个平台专属设备上用);

(3) 上线时间不确定(App Store审核过
程不一); 
(4) 内容限制(App Store限制);

(5) 获得新版本时需重新下载应用更新。

(6) 举例:Yellow Pages Group就开发
了是几个版本(iOS、黑莓、Android),他们在每一个原生应用市场都有上架。

1) 不确定上线时间; (2) 用户体验不如本地应用; (3) 性能稍慢(需要连接网络); 
(4) 技术还不是很成熟

(1) 只能使用有限的移动硬件设备能
力,无法使用更多移动硬件设备的独特功能; 
(2) 搜索Web app比较困难; (3) 质量及安全性无法得到保障; (4) 必须联网; 
(5) 移动应用用户体验不是很好;

(6) 性能需要进行检验

 特点    

Native App可以充分利用设备的特性,而这一点往往是Web浏览器做不到的,所以对一个产品本身而言,Native App是最佳的选择。 
(1)每次获取最新的APP功能,需要升级APP应用; 
(2)原生型APP应用的安装包相对较大,包含UI元素、数据内容、逻辑框架; (3)手机用户无法上网也可访问APP应用中以前下载的数据。 
(4)原生型的APP可以调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等) 
(5)APP应用更新功能,涉及到每次要向各个应用商店进行提交审核。 
适用企业:游戏、电子杂志、管理应用、物联网等无需经常更新程序框架的APP应用

快速迭代,高效开发,低成本上线是每一个
App开发团队追求的目标。同时,随着HTML 5的不断升温和智能手机硬件性能的提高,Hybrid App的概念应运而生。这种“Native搭台,HTML 5唱戏”的Hybrid App开发模式一时间受到各个开发团队追捧,快速进入了
大量开发团队,成为主流开发模式。 Hybrid App优点众多,Web前端工程师0成本介入,不依赖版本的实时更新,快速实现跨平台需求,等等。而另一个方面,2012年Hybrid App的践行者Facebook决定大量弃用App中的HTML页面,转向更加Native化
的方案。Facebook的这一举措也给Hybrid App方案的敲响了警钟,这似乎并不是一个完美的方案。 
即使所有Web代码在本地运行,效率也要比Native差一些。这主要取决于应用类型,对交互体验和性能有很高要求的应用是不适合用Hybrid的。

移动Web无所不在,移动Web是目前
唯一的支持各种设备访问的平台,与桌面Web一样,移动Web支持各种标准的协议。移动Web也是唯一一个可供开发者发布移动应用的平台,它将各种移动交互与桌面任务有效地连接了起来; 
(1)每次打开APP,都要通过APP框架向云网站取UI及数据; 
(2)手机用户无法上网则无法访问APP应用中的数据。 
(3)框架型的APP无法调用手机终端
的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等) 
(4)框架型APP的访问速度受手机终端上网的限制,每次使用均会消耗一定的手机上网流量; 
(5)框架型APP应用的安装包小巧,只包含框架文件,而大量的UI元素、数据内容刚存放在云端; 
(6)APP用户每次都可以访问到实时的最新的云端数据; 
(7)APP用户无须频繁更新APP应用,与云端实现的是实时数据交互; 适用企业:电子商务、金融、新闻资讯、企业集团需经常更新内容的APP应用

App原生、混合、纯WEB开发模式的优劣分析的更多相关文章

  1. Web开发模式【Mode I 和Mode II的介绍、应用案例】

    开发模式的介绍 在Web开发模式中,有两个主要的开发结构,称为模式一(Mode I)和模式二(Mode II) 首先我们来理清一些概念吧: DAO(Data Access Object):主要对数据的 ...

  2. Web开发模式

    原文链接 开发模式的介绍(完善版) 在Web开发模式中,有两个主要的开发结构,称为模式一(Mode I)和模式二(Mode II). 首先我们来理清一些概念吧: DAO(Data Access Obj ...

  3. Web 开发模式演变历史和趋势

    前不久徐飞写了一篇很好的文章:Web 应用的组件化开发.本文尝试从历史发展角度,说说各种研发模式的优劣. 一.简单明快的早期时代 可称之为 Web 1.0 时代,非常适合创业型小项目,不分前后端,经常 ...

  4. [转] Web 开发模式演变历史和趋势

    文章转自梦想天空--前端文摘:Web 开发模式演变历史和趋势 一.简单明快的早期时代 可称之为 Web 1.0 时代,非常适合创业型小项目,不分前后端,经常 3-5 人搞定所有开发.页面由 JSP.P ...

  5. Java Web开发模式

    一 Java Web开发模式的变迁 1 最初的Java web服务器端编程技术是Servlet,利用Servlet就可以开发出一个Web应用程序. 2 为了解决Servlet缺陷,SUN推出了JSP技 ...

  6. WEB开发模式浅析

    WEB技术随着互联网的崛起而崛起,又随着移动互联网的发展而呈现更加多样化的趋势. 黑暗时代:大约在2005年以前,所谓的WEB开发主要还是美工的活,HTML/CSS占主导,Dreamwaver做为页面 ...

  7. 用框架名唬人谁都会,那你知道Web开发模式吗?——莫问前程莫装逼

    前言:这两天总结了一些Servlet和JSP里面的知识,写了几篇博客,果然有种“温故而知新”的感觉,学完这些,继续前行,开始整合框架里的知识,框架虽好,可底层原理该掌握的也得掌握,防止以后做项目的时候 ...

  8. J1001.Java原生桌面及Web开发浅谈

    自从Java问世以来,在服务端开发方面取得了巨大的发展.但是在桌面/Web开发方面,一直没有得到大的发展.从最初的AWT,到Swing,再到JavaFX,Java从来没有在桌面/Web解决方案中取得重 ...

  9. 前端文摘:Web 开发模式演变历史和趋势

    今天的<前端文摘>给大家分享一篇玉伯的文章.文章详细介绍了 Web 开发的四种常用模式以及未来可能成为流行趋势的 Node 全栈开发模式,相信你看了以后一定会有收获. 您可能感兴趣的相关文 ...

随机推荐

  1. ActiveMQ 初学-1:ActiveMQ 创建连接对象

      县创建mq的连接工厂对象 ActiveMQConnectionFactory   // 1 建立ConnectionFactory 工厂对象,需要填入,需要填入用户名密码, // 用户名 密码 在 ...

  2. 由MySQL登录不了引发的一些问题

    经手的项目按照老板的意思,想搞一个类似于个人学习版的版本给客户试用.计划通过网络将安装包发布出去,让客户自行下载安装使用,碰到个问题:数据库的安装.因为后台使用了MS SQLServer 2008/2 ...

  3. OpenStack 制作image,启动VM,无console log

    OpenStack image 制作官方文档:https://docs.openstack.org/image-guide/create-images-manually.html 如果通过制作的镜像启 ...

  4. python学习笔记:(十)函数

    python中定义函数使用def关键字,一般格式如下: def 函数名(参数列表): 函数体 如: #无参数 def helloworld(): print("Hello World!&qu ...

  5. zabbix没有10051端口解决

    1.查看zabbix的日志 [root@bogon ldap]# cat /tmp/zabbix_server.log '/var/lib/mysql/mysql.sock' (2) 2848:201 ...

  6. java:Hibernate框架1(环境搭建,Hibernate.cfg.xml中属性含义,Hibernate常用API对象,HibernteUitl,对象生命周期图,数据对象的三种状态,增删查改)

    1.环境搭建: 三个准备+7个步骤 准备1:新建项目并添加hibernate依赖的jar文件  准备2:在classpath下(src目录下)新建hibernate的配置文件:hibernate.cf ...

  7. MyBatis框架原理3:缓存

    上一篇[MyBatis框架原理2:SqlSession运行过程][1]介绍了MyBatis的工作流程,其中涉及到了MyBatis缓存的使用,首先回顾一下工作流程图: 如果开启了二级缓存,数据查询执行过 ...

  8. docker 安装 nexus

    docker pull sonatype/nexus3 用docker-compose 部署 创建目录 /usr/local/docker/nexus 在目录下 创建docker-compose.ym ...

  9. MySQL 服务正在启动 MySQL 服务无法启动解决途径

    解决方案: 1.删除自己手动创建的data文件夹: 2.管理员权限CMD的bin目录下,移除已错误安装的mysqld服务: mysqld -remove MySQL出现删除成功! 3.在CMD的bin ...

  10. 结构体封装高精度 大整数BigInt

    曾经很讨厌高精度,因为它很长,不好记,而且在不是很单纯的题目里面感觉很烦(一个数就是一个数组).在一道题目中出现的时候总是用一些奇技淫巧混过去(比如把两个$long$ $long$拼在一起). 现在. ...