Hybird App(一)----第一次接触

  • App你知道多少
    • 一 什么是Native App
      • 优点
      • 缺点
    • 二 什么是Web App
      • 优点
      • 缺点
    • 三 什么是Hybrid App
      • 优点
      • 缺点
    • 四 Web AppHybrid AppNative App比较

    之前一直在做JAVA的项目,最近要开发移动端,对App的开发刚开始的时候是没有任何概念的,有接触也就是玩手机用过的N多App,这算是真正意义山的第一次和App握手相识!

App,你知道多少?



    目前主流的应用程序有三大类:

一、 什么是Native App?

    Native App即原生应用,即我们一般所称的客户端,是针对不同手机系统单独开发的本地应用,如需使用需要先下载到手机并安装,下载Native App的最常见方法是访问应用程序商店,如苹果的App Store、安卓市场、Google Play等。在技术实现上一般采用针对操作系统的特定语言进行编写,如:使用Objective-c开发IOS应用,使用Java+Android开发android应用。

优点

  • 运行效率高
  • 可调用各种设备资源

缺点

  • 人力成本高
  • 发布速度慢(AppStore确认的时间很长)
  • 更新版本的问题(用户就是不更新!)
  • 实现图文混排等功能拥有各种坑!

二、 什么是Web App?

    Web App又叫Web应用,简单的说就是一个触屏版的网站。Web应用完全用HTML、JavaScript和CSS等Web技术开发,通过移动设备的浏览器来访问,缺点是这些基于浏览器的应用无法调用系统API来实现一些高级功能,也不适合高性能要求的场合。WebApp的核心思路:

常见Web App框架对比:

优点

  • 开发成本低,使用现有的Web开发技术即可
  • 适用范围广,覆盖所有智能手机,跨平台和终端
  • 方便、快捷地部署,无需用户安装
  • 用户总能访问到最新版本,迭代更新容易
  • 可被搜索引擎收录并带来流量

缺点

  • 浏览体验短期内还无法超越原生应用
  • 不支持离线模式(HTML5将会解决这个问题)
  • 消息推送不够及时
  • 调用本地文件系统的能力弱
  • 较差的和较慢的性能体验(大部分需要链接互联网)
  • 支持图形和动画效果较差
  • 不适用于应用商店及没有靠下载应用盈利机会
  • 限制用户使用功能(比如,相机、GPS等)

Web APP 的开发基于Html5语言。而Html5语言本身又有着不可避免的局限性。正是这些局限性的存在,使得Web App在体验中要逊于Native App。具体的首先因素及设计要点大家可以去参考《聊聊Web App、Hybrid App与Native App的设计差异

三、 什么是Hybrid App?

    Hybrid App又叫混合应用,是一种介于Native App、Web App之间的App,它虽然看上去是一个Native App,但只是一个UI WebView,里面访问的是一个Web App。Hybrid App实质是伪造一个浏览器的apk/ipa原生程序,并运行了一个Web APP。Hybrid App兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。它可以使web开发人员可以几乎零成本的转型成移动应用开发者,并且相同的代码只需针对不同平台进行编译就能实现在多平台的分发,而相较于Web App,开发者可以通过包装好的接口,调用大部分常用的系统API。

优点

  • 综合了开发效率和运行效率
  • 发版本更方便

缺点

  • 运行效率中等(切换等交互效果)
  • 需要写一点原生代码(至少2个平台)

四、 Web App、Hybrid App、Native App比较

条件\应用程序 Web App Hybrid App Native App
开发成本
维护更新 简单 简单 复杂
体验
Store或market认可 不认可 认可 认可
安装 不需要 需要 需要
跨平台
开发语言 网页语言HTML5+JS 网页或原生语言 原生语言ObjectC、java、net等
跨平台性
设备能力
向后兼容

    
    从上面的表格中可以看出,没有哪一种开发方法总是提供所有的优点。每一种开发方法有天生的局限性,没有哪一种方法能够满足现代移动企业的所有要求、应对复杂情况。选择一种合适的方法取决于企业的具体要求,可能取决于诸多因素,比如预算、时间表、内部资源、目标市场、所需的应用程序功能、IT基础设施及其他许多方面。但是有一点很清楚:如今的大多数公司显然在两个方面之间作取舍:一是用户体验和应用程序功能,另一是开发成本和产品上市时间。问题就变成了选择一种合适的开发方法,能兼顾企业的要求和其在预算和产品上市时间方面的限制。
    
    

参考文章:

码字很辛苦,转载请注明出处:令仔很忙—-《Hybird App(一)—-第一次接触

时间: 2024-11-02 15:06:26

Hybird App(一)----第一次接触的相关文章

菜鸟初学Java的备忘录之第一次接触

虽然以前间或的也看了些书籍,但多是隔靴搔痒,上不了正席,绝不敢说自己懂Java.接触一门新的技术和初恋一样,都是第一次,但不同的是后者一般开始无比甜蜜,结局却很痛苦,而前者则往往开始很痛苦,越到后来却越是有味,简直是欲罢不能.现在我就正处于这个很痛苦的阶段,连一个最简单的Helloworld都运行不出来,总是提示Excepion in thread "main" java.lan.NoClassDefFoundError. 只好上网去查,去搜.记性又不好,所以搜出来赶紧保存下来,常备无

求大神指点 急急急-这是为什么啊?第一次接触不懂啊!?求解决!!

问题描述 这是为什么啊?第一次接触不懂啊!?求解决!! 急急急啊!求帮助!谢谢 解决方案 在线程中操作界面,或者有程序终止了线程. 解决方案二: 你再着急也要用电脑把问题发清楚了吧???,又暗又黑的给谁看 解决方案三: 要用委托写法,delegate. 解决方案四: 看不清,最好截图,别用手机照

c语言基础-我是第一次接触C语言,求推荐一个新手用的C语言编辑器,谢谢!

问题描述 我是第一次接触C语言,求推荐一个新手用的C语言编辑器,谢谢! 我是一名大二学生,大一还没有开始接触C语言,然后我就想早点学,怕后面学习跟不上,买了一本书<C语言入门经典>,但是里面并没有提到用什么编辑器,求推荐一个编辑器!先谢谢了...... 解决方案 visual studio就可以了 解决方案二: visual studio 2010 解决方案三: VIM + ctags + 其它各种插件 解决方案四: 我是大一的老师教我们c语言用的是vc++6.0

Hybird App概念认识

             最近平台这边APP要重做,由于要做初步的移动APP技术选型,所以就要对各种移动端框架做一个大致评估.             本人最早做的还是web app,开发工具是我大VS+Chrome+user agent switcher.后来又做了Native APP的开发,到最近刚开始使用Hybird App框架.下面来看下Hybird App的定义:                          可见,  Hybird App是整合了web app跟native ap

我现在在开发PDA程序,第一次接触,连接数据库都是连不上,我数据库是sql server 2000

问题描述 我现在在开发PDA程序,第一次接触,连接数据库都是连不上,我数据库是sqlserver2000请高手指点,谢谢了 解决方案 解决方案二:该回复于2009-06-18 17:31:43被版主删除解决方案三:pdaapp--访问--sqlce(设备上的数据库)----同步--sqlserver服务解决方案四:该回复于2009-05-14 13:07:53被版主删除

第一次接触远程调用,有没有关于阿里的dubbo相关案例,急用

问题描述 第一次接触远程调用,有没有关于阿里的dubbo相关案例,急用 网上说dubbo用的还挺多,想找一下这方面的案例文档,参考参考 解决方案 http://www.cnblogs.com/Javame/p/3632473.html 解决方案二: 可以参考下我写的:http://blog.csdn.net/evankaka/article/details/48009645

第一次接触神奇的Bootstrap表单_javascript技巧

本篇将主要介绍Bootstrap表单的使用技巧.  1.Bootstrap基础表单 表单中常见的元素主要包括:文本输入框.下拉选择框.单选按钮.复选按钮.文本域和按钮等. 我们先来看一个基础表单: <!DOCTYPE HTML> <html lang="en"> <head> <meta charset="UTF-8"> <title>基础表单</title> <link rel=&quo

【求助】怎么写清空按钮的代码,新人第一次接触,急用。

问题描述 [求助]怎么写清空按钮的代码,新人第一次接触,急用.C#windows应用程序1,点清空按钮就把前面已选的8个勾√全部清空..2,关闭界面后,能保留已打勾的选项和已选择的日期,下次打开界面时能显示上次关闭前打钩的选项和日期第一次接触,不懂写这代码但是又急需用这界面,代码如下,谁能帮我写下上面2个问题的代码啊先谢谢了C#windows应用程序界面如图:代码:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentM

第一次接触神奇的Bootstrap网格系统_javascript技巧

本篇将主要介绍Bootstrap的网格系统. 网格系统的实现是通过定义容器大小,平分12份(或24份.32份,但12份是最常见的),再调整内外边距,最后结合媒体查询,就制作出了强大的响应式网格系统. Bootstrap中的网格系统就是将容器平分成12份. Bootstrap的网格系统用来布局,其实就是列的组合,一共有四种基本的用法: 1.列组合 更改数字来合并列(原则:列总和数不能超12),例如: <!DOCTYPE HTML> <html> <head> <me