Native App开发
Native App开发即我们所称的传统APP开发模式(原生APP开发模式),该开发针对IOS、Android等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。
Web App开发
Web App开发即是一种框架型APP开发模式(HTML5 APP 框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。
Web APP应用呈现以下特点:
(1)每次打开APP,都要通过APP框架向云网站取UI及数据;
(2)手机用户无法上网则无法访问APP应用中的数据。
(3)框架型的APP无法调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)
(4)框架型APP的访问速度受手机终端上网的限制,每次使用均会消耗一定的手机上网流量;
(5)框架型APP应用的安装包小巧,只包含框架文件,而大量的UI元素、数据内容刚存放在云端;
(6)APP用户每次都可以访问到实时的最新的云端数据;
(7)APP用户无须频繁更新APP应用,与云端实现的是实时数据交互;
适用企业:电子商务、金融、新闻资讯、企业集团需经常更新内容的APP应用。
Native App(原生型APP)应用呈现以下特点:
(1)每次获取最新的APP功能,需要升级APP应用;
(2)原生型APP应用的安装包相对较大,包含UI元素、数据内容、逻辑框架;
(3)手机用户无法上网也可访问APP应用中以前下载的数据。
(4)原生型的APP可以调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)
(5)APP应用更新新功能,涉及到每次要向各个应用商店进行提交审核。
适用企业:游戏、电子杂志、管理应用、物联网等无需经常更新程序框架的APP应用。
移动Web无所不在,移动Web是目前唯一的支持各种设备访问的平台,与桌面Web一样,移动Web支持各种标准的协议。移动Web也是唯一一个可供开发者发布移动应用的平台,它将各种移动交互与桌面任务有效地连接了起来;而开发Native App可以充分利用设备的特性,而这一点往往是Web浏览器做不到的,所以对一个产品本身而言,Native App是最佳的选择。
(1)开发方面
   原生App
⊙ 每一种移动操作系统都需要独立的开发项目
⊙ 每种平台都需要独立的开发语言。Java(Android), Objective-C(iOS)以及Visual C++(Windows Mobile)等等
⊙ 需要使用各自的软件开发包,开发工具以及各自的控件 移动Web App
⊙ 因为运行在移动设备的浏览器上,所以只需要一个开发项目
⊙ 这种应用可以使用HTML5,CSS3以及JavaScript以及服务器端语言来完成(PHP,Ruby on Rails,Python)
⊙ 这里可没有标准的SDK,基本任意选择别忘了有一些跨平台的开发工具,比如PhoneGap, Sencha Touch 2,APPcan以及Appcelerator Titanium等等。 (2)能力方面 原生App
⊙ 能够与移动硬件设备的底层功能,比如个人信息,摄像头以及重力加速器等等移动Web App
⊙ 只能使用有限的移动硬件设备功能。(3)获取方法 原生App
⊙ 直接下载到设备
⊙ 以独立的应用程序运行(并不需要浏览器)
⊙ 用户必须手动去下载并安装这些原生App
⊙ 有一些商店与卖场来帮助用户寻找你的App,目前app市场不计其数,比较有名气的有:360手机助手:http://zhushou.360.cn/
安卓市场:http://apk.hiapk.com/
机锋市场:http://apk.gfan.com/
酷玩汇(91):http://play.91.com/
百度移动应用:http://as.baidu.com/
碗豆荚:http://www.wandoujia.com/apps
青年应用汇:http://www.youthapp.cn/
木蚂蚁:http://www.mumayi.com/
安智:http://www.anzhi.com/
应用汇:http://www.appchina.com/
乐商店:http://app.lenovo.com/
飞流:http://www.feiliu.com/html/index.html
小米:http://app.xiaomi.com/
N多网:http://www.nduoa.com/ (4)移动Web App
⊙ 从移动设备上的浏览器访问
⊙ 不需要安装额外的软件
⊙ 软件更新只需要服务器就够了
⊙ 因为现在没有什么商品或卖场提供这种App,所以如何搜索这些移动Web App相当不简单(5)版本控制原生App
⊙ 用户可以自由地选择是否更新软件版本,所以会出现不同用户同时使用不同版本的情况移动Web App
⊙ 所有的用户都是用同样的版本优势原生App
⊙ 比移动Web App运行快
⊙ 一些商店与卖场会帮助用户寻找原生App
⊙ 官方卖场的应用审核流程会保证让用户得到高质量以及安全的App
⊙ 官方会发布很多开发工具或者人工支持来帮助你的开发移动Web App
⊙ 跨平台开发
⊙ 用户不需要去卖场来下载安装App
⊙ 任何时候都可以发布App,因为根本不需要官方卖场的审核
⊙ 如果你已经有了一个Web App,你可以使用 responsive web design来辅助改进(这也是优势?)缺陷原生App⊙ 开发成本高,尤其是当需要多种移动设备来测试时
⊙ 因为是不同的开发语言,所以开发,维护成本也高
⊙ 因为用户使用的App版本不同,所以你维护起来很困难
⊙ 官方卖场审核流程复杂且慢,会严重影响你的发布进程 移动Web App⊙ 无法使用很多移动硬件设备的独特功能
⊙ 要同时支持多种移动设备的浏览器让开发维护的成本也不低
⊙ 如果用户使用更多的新型浏览器,那问题就更不好处理了
⊙ 对于用户来说,这种App很难被用户发现原生App 与 移动Web App:您如何选择?所以在你准备做移动App时,你应该先问问自己以下几个问题:
1. 你的应用是否需要使用某些设备的特殊功能,比如摄像头,摄像头闪光灯或者重力加速器
2. 你的开发预算是多少?
3. 你的应用是否一定需要网络
4. 你的应用的目标硬件设备是所有的移动设备还是仅仅只是一部分而已
5. 你自己已经熟悉的开发语言
6. 这个应用对于性能要求是否苛刻
7. 如何靠这个应用赢利
我想这几个问题应该能让你做出明智的选择。 结论:是原生App还是移动Web App,主要受商业目标,目标用户,以及技术需要这些因素影响的。其实更多时候你也不要为选择那种App模式烦恼,正如本文提到,类似Facebook这样的公司就为用户提供了两种选择。然而对于大部分人来说,预算,资源限制将会逼迫我们只能选择其中一种(或者只能以其中一种为重点)。
扩展:

1、如何判断app中原生页面和h5 页面?

纯粹的HTML5应用很少,甚至只有一个view是用WebView/UIWebView的方式越来越常见了。
基本上只要对那个view长按,然后看是不是有反应,比如手机震动(Android)、或者出现文字选择粘贴(Android/iOS),那么就是WebView!
2、如何判断一个 app 是原生还是 webapp,或者是两者结合的?
  1. (快速)滚动起来是否比较卡
  2. 图片加载失败的图标

3、app中html5页面和原生native页面的区别?

你想说的是怎么判断app里面哪些是app原生写的哪些是html代码是么?
要是是这样的话。有一种可以试一试。也就是你把手机的网络断掉。然后点开你的页面。然后可以正常显示的东西就是原生写的。显示404或则错误页面的是html页面
4、

Android如何区分app原生和webview实现?

在开发Android app时,特别是强内容展现型的功能,会想在原生native实现和web实现中做选择,做这种选择的时候,难免想看看竞品或其它app类似功能是用哪种方式实现的。但是如何判断其它app是用原生控件实现还是用webview载入网页来实现呢?其实要想做到这一点不难,至少有两种办法:

一、抓包

这是比较原始,也是比较容易想到的,打开相应界面,抓取数据包看看,如果有url是返回比较完整的html代码,那基本就是webview来实现的了。

二、利用系统开发人员工具

抓包的方法还是太麻烦,很多系统有更高级的开发人员工具功能,一般在设置里可以找到,有些手机可能需要特殊的操作才能打开开发人员工具功能。以meizu mx2为例,在拨号界面输入 *#*#6961#*#* 打开“开发人员工具”功能(输入 *#*#6960#*#* 关闭),点击“设置”->“辅助功能”->“开发人员工具”,在绘图栏中找到“显示布局边界”并打开。这样所有应用的控件布局都一目了然了,webview作为一个控件,只有一个边界框,所以通过这一点,就比较容易区分出一个界面是webview实现的还是native布局控件实现的,当然也不排除用一堆webview来拼成一个界面的实现方法。

如下图是一个native与webview混排的界面,蓝色线框是各控件的绘制边界,中间那一大块布局丰富的界面没有显示出很多边界蓝线,就是网页实现的。

除了上面两种方法,一般来说,通过断开网络,刷新界面,观察内容缓存情况也可以对实现方式有个大致预判断,一般来说缓存做得好的,都是原生控制实现的,有界面局部缓存的就更大可能是原生的了。

原生APP和Web APP的区别相关推荐

  1. 原生APP与web APP的区别

    定义,什么是原生APP和web APP? Web App Web App即是一种框架型APP开发模式(HTML5 APP 框架开发模式),该开发具有跨平台的优势,该模式通常由"HTML5云网 ...

  2. Do带你解析:原生APP与web APP的区别

    对于DeviceOne原生跨平台APP与WEB APP的区别,很多人还不是很清楚,下面就让小编来简单介绍DeviceOne原生APP的功能以及与WEB APP的区别. 定义,什么是原生APP和web ...

  3. 原生 APP 与 web APP的区别比较

    刚入行的开发新手,对于原生 APP 与 web App 总是傻傻分不清楚.为加深理解,整理一篇博客记录. 随着移动互联网的发展现在的手机功能越来越强大,里面的软件也是非常强大.那么对于应用开发来选择的 ...

  4. Native App与 Web App 区别

     Native app 和Web App的区别: 1.      偏交互的Native,偏浏览的Web: 交互指复杂操作,输入.选择什么的 2.      已稳定的Native,试错中的Web: H5 ...

  5. 原生App与Web APP优劣势分析

    现如今APP开发有两个主流的方向:原生App 以及移动Web App.那么您是否知道这两者有何区别?什么是原生APP,什么是web APP?今天小编在此对二者进行一个对比. ☛ 什么是原生APP 在智 ...

  6. hybrid app、web app与native app工具

    1.使用过哪些工具? Webapp:ThinkPHP Mobile(TPM).Ionic Framework.JingleUI Hybridapp:Apicloud.Phonegap(稍了解Hbuil ...

  7. 计算机毕业设计Python+uniapp+安卓移动LYQ电子商城APP(WEB+APP+LW)

    计算机毕业设计Python+uniapp+安卓移动LYQ电子商城APP(WEB+APP+LW) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区 ...

  8. native app 、web app 和hybrid app

    现在主流的应用程序可以分为三大类native app .web app 和hybrid app. 先简单介绍下这三类 1.Native App Native App是一种基于智能手机本地操作系统如iO ...

  9. 计算机毕业设计Python+uniapp+安卓智能衣柜管理APP(WEB+APP+LW)

    计算机毕业设计Python+uniapp+安卓智能衣柜管理APP(WEB+APP+LW) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ ...

最新文章

  1. oracle 修索引改空间_记一次Oracle分区表全局索引重修的历程
  2. 视频图像处理基础知识4(视频分辨率参考 行频 隔行扫描 逐行扫描)【转】
  3. mysql半复制_mysql半同步复制
  4. jenkins构建记录日志_构建企业日志记录层的清单
  5. c++频繁读取数据会丢失_透析中会丢失什么营养?透析日的饮食需要注意什么?...
  6. 尝试:以下矩阵size length ndims repmat isempty ismatix E=A(:,[1:3:5])什么意思?
  7. Raki的读paper小记:Star-Transformer
  8. [2018.10.24 T3] 老大
  9. 使用WireShark生成地理位置数据地图
  10. (websocket)协议中Ping Pong,Socket通讯ping pong(长连接),心跳包
  11. Lipschitz连续,一致连续
  12. html中div的定位,html中div定位练习
  13. “人生苦短,我用Python“——网络嗅探与欺骗
  14. LintCode 488.快乐数
  15. 【豆知识】C语言中转义字符“\a”是什么意思?
  16. mysql 数据透视_把数据库中的数据制作成Excel数据透视表
  17. 图片合成视频python
  18. 装的机械硬盘计算机里没有反应,固态硬盘和机械硬盘运行打开我的计算机图标,有时候读取没有响应,单独用固态硬盘是没问题的 ,机械硬盘也测试了,没有坏道什么的,始终找不到原因...
  19. RestTemplate的用法
  20. 从零开始做一款Unity3D游戏<三>——编写游戏机制

热门文章

  1. 1-3 Minecraft-Fabric-1.17.1 Mod开发 矿物生成
  2. working-in-silicon-valley 在硅谷工作的9年
  3. 暴雨下的O2O“青春期烦恼“
  4. linux截图桌面,Ubuntu Linux应用桌面截图
  5. RSA加密的填充方式
  6. 安卓/LINUX/Windows TCPIP Socket调试助手
  7. android语音备忘录编辑,android语音备忘录程序的设计与实现.pdf
  8. IoT黑板报:苹果CEO库克试骑小黄车
  9. 写给初中级前端的高级进阶指南(万字路线)
  10. 中国第五个直辖市,我来说两句