zoukankan      html  css  js  c++  java
  • Native APP ,Web APP,Hybrid APP三者对比

    Native APP

    Native APP 指的是原生程序(Android、iOS、WP),一般依托于操作系统,有很强的交互,可拓展性强,需要用户下载安装使用,是一个完整的App。

    原生应用程序是某一个移动平台(比如iOS或安卓)所特有的,使用相应平台支持的开发工具和语言(比如iOS平台支持Xcode和Objective-C,安卓平台支持Eclipse和Java)。原生应用程序看起来(外观)和运行起来(性能)是最佳的

    Native app优势:

    1、速度快,性能高,用户体验更好
    2、可以调用手机终端硬件是设备(GPS、摄像头、麦克风、通讯录等等)
    3、可访问本地资源
    4、下载到本地,可节省带宽成本

    劣势:

    1、开发成本高,需针对不同平台开发相应的版本
    2、需要维护多个版本
    3、盈利需要与第三方分成
    4、获取新版本需重新下载应用更新(提示用户下载跟新,体验差)
    5、发布新版本需通过store或market确认,而且时间长
    (应用商店发布审核周期长。安卓平台大概要1~3天,而iOS平台需要的时间更长)

    Web APP

    Web App 基于web的系统和应用,运行于网络和浏览器之上,目前多采用h5标准开发,无需下载安装

    HTML5应用程序使用标准的Web技术,通常是HTML5、JavaScript和CSS。只编写一次、可到处运行的移动开发方法构建的跨平台移动应用程序可以在多个设备上运行

    Web app优势:

    1、跨平台开发(基于浏览器)
    2、开发成本低(整体量级轻)
    3、无需安装,(节约内存空间)
    4、可随即上线(不需要等待审核)
    5、更新无需通知用户(自动更新)
    6、维护比较简单

    劣势:

    1、需要依赖网络,体验相对较差
    2、功能受限,无法获取系统级别的通知,提醒,动效等
    3、入口强依赖于第三方浏览器,导致用户留存率低
    4、页面跳转费力,不稳定感更强
    5、安全性相对较低,数据容易泄露或被劫持

    Hybrid APP

    Hybrid APP指的是半原生半Web的混合类App。需要下载安装,看上去类似Native App,但只有很少的UI Web View,访问的内容是 Web

    混合应用程序让开发人员可以把HTML5应用程序嵌入到一个细薄的原生容器里面,集原生应用程序和HTML5应用程序的优点(及缺点)于一体。

    微信本身是原生应用,在应用中把常用的系统功能(摄像头,通讯录)
    封装为js能够调用的方法,暴露在全局对象下,当用户操作应用中的浏览器时候调用暴露出来的方法,实现原生的功能

    Hybrid app优势:

    1、混合应用中比例自由
    比如Web 占90%,原生占10%;或者各占50%
    2、便于调试,开发时可以通过浏览器,工具丰富
    3、顺利访问手机的各种功能
    4、App Store中可下载(Wen应用套用原生应用的外壳)
    5、兼容多平台,可下线使用
    6、页面存放于本地和服务器两种方式
    7、省去了跳转浏览器的麻烦
    8、app安装包体积减小

    劣势:

    1、不确定上线时间
    2、性能稍慢(需要连接网络)
    3、用户体验不如本地应用

    发布渠道和更新方式

    混合App可以在应用商店App Store发布,但可以自主更新
    而原生App的更新必须通过应用商店App Store

    移动设备本地API访问

    混合App可以通过JavaScript API访问到移动设备的摄像头、GPS
    而原生App可以通过原生编程语言访问设备所有功能

    搜索引擎友好

    只有移动web对搜索引擎友好,可与在线营销无缝整合

    消息推送

    只有混合App和原生App支持消息推送,这能增加用户忠诚度

    如何判断一个混合APP开发的页面形式

    1、在系统设置里进入“开发者选项”,勾选“显示布局边界”,然后就可以看得出来
    2、网页的一般就在手机的当前界面加载一个url地址
    3、快速)滚动起来是否比较卡
    4、图片加载失败的图标

  • 相关阅读:
    JSONObject简介
    android:layout_gravity 和android:gravit的区别?
    CountDownTimer,0,0
    java应用集锦9:httpclient4.2.2的几个常用方法,登录之后访问页面问题,下载文件
    HttpClient学习系列 -- 学习总结
    创建多线程的HttpClient
    HttpClient4.X 升级 入门 + http连接池使用
    Java Executors(线程池)
    [微软官方]SQLSERVER的兼容级别
    vSphere Client 连接ESXi 或者是vCenter 时虚拟机提示VMRC异常的解决办法
  • 原文地址:https://www.cnblogs.com/theblogs/p/10369100.html
Copyright © 2011-2022 走看看