zoukankan      html  css  js  c++  java
  • web app(h5)、 源生app、混合app

    我觉得web app 、源生app和混合app,没有哪个好与不好之说,主要还得看所做的app,开发app还得从多方面去考虑,比如投入开发的人员、开发周期、开发费用、是否支持跨平台、用户体验等。

    一、什么叫做源生app、什么叫做移动web appp 、什么叫做混合app

    源生app 是专门针对某一类移动设备而生的,它们都是被直接安装到设备里,而用户一般也是通过网络商店或者卖场来获取,开发起来不支持跨平台,每种平台得单独开发相同应用。随便说几个源生APP的例子,比如ios的camera+以及android的keepassdroid。

    移动app 都是需要用到网络的,它们利用设备商的浏览器(比如iPhone的safari)来运行,而且他们布需要在设备上下载后安装。

    混合型应用(Hybrid App)就是介于二者之间的折中方案。在许多情况下,它能集两者之长,再通过中间件包装成一个可发布到应用商店的应用程序。Hybrid App运行在一个源生App的容器里,接住移动系统自带的浏览器引擎来渲染界面和解析脚本。例如:PhoneGap开发的程序就属于混合型应用。

    二、优缺点

    1.源生app

    你使用过微软PowerPoint 或者Word吧?这些可直接在你电脑上运行或者在智能手机上运行,简单来说,原生应用是特别为某种操作系统开发的,比如iOS、Android、黑莓等等,它们是在各自的移动设备上运行的。

    优点:

    可访问手机所有功能(GPS、摄像头);

    速度更快、性能高、整体用户体验不错;

    可线下使用(因为是在跟Web相对地平台上使用的);

    支持大量图形和动画; 容易发现(在App Store里面)和重新发现(应用图标会一直在主页上);

    应用下载能创造盈利(当然App Store抽取20-30% 的营收)。

    缺点:

    开发成本高;

    支持设备非常有限(一般是哪个系统就在哪个平台专属设备上用);

    上线时间不确定(App Store审核过程不一);

    内容限制(App Store限制);

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

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

     

    2.移动web App

    Web应用本质上是为移动浏览器设计的基于Web的应用,它们是用普通Web开发语言开发的,可以在各种智能手机浏览器上运行。 


    优点:

    支持设备广泛;

    较低的开发成本;

    可即时上线;

    无内容限制

    用户可以直接使用最新版本(自动更新,不需用户手动更新)。

    缺点:

    表现略差(对联网的要求比较大);

    用户体验没那么炫;

    图片和动画支持性不高;

    没法在App Store中下载、无法通过应用下载获得盈利机会;

    要求联网;

    对手机特点有限制(摄像头、GPS等)。

    对于这些缺点,如果能把HTML 5的优点用到Web上的话就会得到很大改善,尽管技术在提高,目前它还不能做原生应用可以做的每件事。 


    有些公司,比如金融时报继原生应用后也开发了Web应用,用户通过浏览器来访问他们的应用,因为他们的应用要采取应用内购买,而App Store是不允许应用内购买的,不然它们就无法拿到那20%-30% 的抽成了。 

     

    3.混合型App

    混合应用大家都知道是原生应用和Web应用的结合体,采用了原生应用的一部分、Web应用的一部分,所以必须在部分在设备上运行、部分在Web上运行。 


    不过混合应用中比例很自由,比如Web 占90%,原生占10%;或者各占50%。 
    优点:

    兼容多平台;

    顺利访问手机的多种功能;

    App Store中可下载(Wen应用套用原生应用的外壳);

    可线下使用。

    缺点:

    不确定上线时间;

    用户体验不如本地应用;

    性能稍慢(需要连接网络);

    技术还不是很成熟。

    比如Facebook现在的应用属于混合应用它可以在许多App Store畅通无阻,但是掺杂了大量Web特性,所以它运行速度比较慢,而现在为了提高性能FB又决定采用原生应用。

     

     

    三、总结(什么情况下用什么):

     

    h5:

     

    经常换的东西用h5,比如活动页面

     

    广告位用h5

     

    用户手册。使用协议用h5。因为不需要更新版本就可以完成修改

     

    有些动画不易于用源生实现的用h5

     

    预算有限,不在乎用户体验和速度用h5

     

     

    源生:

     

    讲究页面切换流畅用源生

     

    对网络很敏感的用源生

     

    频繁调用硬件用源生

    结论,重点差异:

    ● 开发难度。移动web和混合App开发难度对于web开发者来说相对较低,而且可以充分利用现有的web开发工具和工作流程

    ● 发布渠道和更新方式。混合App可以在应用商店App Store发布,但可以自主更新,而原生App的更新必须通过应用商店App Store。

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

    ● 跨平台和可移植性。基于浏览器的移动web最好的可移植性和跨平台表现;混合App也能节省跨平台的时间和成本,只需编写一次核心代码就可部署到多个平台,而原生App的跨平台性能最差。

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

    ● 货币化。混合App除广告外,还支持付费下载及程序内购买;原生App的程序内购买金额2012年首次超过下载收费。

    ● 消息推送。只有混合App和原生App支持消息推送,这能增加用户忠诚度。Apache Cordova是PhoneGap贡献给Apache后的开源项目,是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎。 PhoneGap是一个开源的开发框架,使用HTML、CSS和JavaScript来构建跨平台的的移动应用程序。目前开发商可以只编写一次应用程序, 然后在6个主要的移动平台和应用程序商店(app store)里进行发布,这些移动平台和应用程序商店包括:iOS、Android、BlackBerry、webOS、Bada以及Symbian等。
    现今有哪些互联网公司正在使用PhoneGap/Apache Cordova吗?我们无法用一个准确的名单列表呈现给大家,本文罗列出一些巨头公司,正在使用PhoneGap或是Apache Cordova作为他们的移动应用跨平台开发工具:

     

  • 相关阅读:
    带有参数的存储过程
    不实用数据库实现保存和查询功能
    http错误代码(快速了解错误所在)
    ListBox的应用(左边中的信息移至右边)
    省市县三级连动(数据在一个表中)
    简单的实现用户注册时,向其油箱发送激活码邮件,并进行状态处理。 .
    省级三连动(二)
    省市选择期三级联动
    百钱百鸡
    MySQL命令简单应用
  • 原文地址:https://www.cnblogs.com/tutuskys/p/4993853.html
Copyright © 2011-2022 走看看