Hybird 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(一)—-第一次接触》

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java架构

阿里java架构师:微服务写的最全的一篇文章

今年有人提出了2018年微服务将疯狂至死,可见微服务的争论从未停止过。在这我将自己对微服务的理解整理了一下,希望对大家有所帮助。

2K3
来自专栏Linux Python 加油站

揭秘Linux工程师一路走来都需要哪些技能

大公司也是从小公司一步步走过来的,而大公司之所以与小公司不同,不在于基础的技术体系不同,而是当数据量达到一定程度后,引发的质变而已。而在思考质变带来的性能问题中...

1294
来自专栏数据和云

微博MySQL优化之路 - 肖鹏

肖鹏老师对于开源数据库尤其是MySQL的研究特别深入,今天我们来一起听他分享自己对MySQL数据库的优化经验! 作者简介 ? 肖鹏 微博研发中心数据库技术负责人...

4187
来自专栏ThoughtWorks

Web App性能优化之亮剑|洞见

自计算机诞生以来,系统性能问题亘古未变,从指令级优化到集成系统的优化,可谓愈来愈复杂。每种类型的性能问题即便出现的场景不尽相同,但依然有一些性能优化模式,久经沙...

3596
来自专栏架构师之路

互联网分层架构,为啥要前后端分离?

通用业务服务化之后,系统的典型后端结构如上: web-server通过RPC接口,从通用业务服务获取数据 biz-service通过RPC接口,从多个基础数据s...

4028
来自专栏腾讯移动品质中心TMQ的专栏

FAT(Fast-AutoTest) —专业服务于微信H5/小程序UI自动化测试

随着项目的发展,许多项目中H5(特别是微信平台内)以及小程序占比逐渐增多,因此快速建设相关的自动化来提高项目的效率和质量成为了许多项目中的重中之重。

1.9K7
来自专栏解密云服务

掀起“公有云对象存储服务”的面纱(系列2)

内容题记:公有云对象存储服务会写成一个系列,从使用者(企业IT经理)的视角出发,分享一下从选择服务商到深度使用上的一些心得。上次内容主要关于厂商选取和数据上云这...

42612
来自专栏PHP在线

可以使用框架但千万不要依赖框架

我们是由于效率和易用性的考虑才产生框架。框架能节省开发时间。框架强制使用公共的约定,因此它能有效地解决一些共有的问题,比如页面渲染,assert判断,安全或者应...

3555
来自专栏程序员互动联盟

为什么有些网站打开这么慢?

为什么你的网站打开慢? 为什么流量来了,服务器却挂了? 你的用户体验是12306还是天猫双十一? 作为一个专业的IT运维,你能够获得足够多的服务器数据,让你做出...

3238
来自专栏BestSDK

好的产品诞生全过程:每个环节都细致入微

当我们提到一些常见的功能时,可以一笔带过,简单的描述一下就可以了,比如:对于微信登录,手机号注册。 那如果我们提到的是一些比较复杂的,具备一定创造性功能的时候,...

3005

扫码关注云+社区

领取腾讯云代金券