H5和原生APP之间的区别

原生开发、H5开发与混合开发的区别 文章目录原生开发Web APP (HTML5)开发混合(原生+H5)开发 目前市场上主流的APP分为三种:原生APP、Web APP(即HTML5)和混合APP三种,相对应的定制开发就是原生开发、H5开发和混合开发。那么这三种开发模式究竟有何不同呢?下面我们就分别从这三者各自的优劣势来区分比较吧! 原生开发 原生开发(Native App开发),是在Android、IOS等移动平台上利用官方提供的... 阅读详情

 

原文:http://www.ui.cn/detail/247751.html

最近项目中因各种客观因素,移动端都是默认用的纯H5 APP,感受最深的就是各种坑啊,好大的坑啊。产品上线后,带着各种坑后的总结原因方发现很多人都说纯H5 APP一次编写就能支持android和IOS两种不同的APP,大大降低了开发成本。可实际的工作中却发现并不是如此,既不省事儿,又有很多BUG,而且各种css的兼容性的问题一大堆,更不要说动画点不到这些问题啦,真是一个坑比一个坑深啊。即使如此,虽然还是有很多问题没有很好的解决,为什么还是有很多H5汇合APP开发的人呢。这里要提到一个刚刚当了奶爸不久的扎克伯格——小扎同学。

早在2010年的时候,那个时候HTML5刚刚兴起不久,乔布斯就说HTML5将会成为取代Flash的下一个技术浪潮,从那个时候开始,很多大公司和有想法的创业公司都在试水并尝试不断的推动HTML5的发展。这里面就以Facebook的创始人最为炙热。他提出一定要尽可能的利用HTML5和Web App来打破iOS和Android的垄断,Facebook在信息浪潮的年代竟然用长达2年的时间潜心研发HTML5,投注大量的精力和物力。最终因HTML5自身技术问题导致经常出现bug,那对Facebook来说影响是不可估量的,因此差点引发被雅虎收购的命运。好在到2012年因为公司对市场上所有JS MVC框架都不满意以后,再加上借着重构Instagram网站的机会,才决定自己写一套,这个时候才从HTML5转向原生应用。

那说到H5和原生APP的差异,那什么是原生APP,什么是web APP?看到一个前辈解释的特别好,在这里和大家分享。

Web App即是一种框架型APP开发模式(HTML5 APP 框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。

原生APP又称Native App,该开发针对IOS、Android、Windows等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。

那除了定义中提到两者的构成部分和读取数据的不同以外,还有哪些方面有区别呢?偶从以下几个方面简单阐述一下:

1、开发方面的区别(这个地方太专业啦,请教了团队的开发小伙伴)

目前React Native开发越来越火,微信小程序是基于React Native开发的,体验接近原生APP,发展前景值得重视。不过好在现在非原生APP同样可以调用蓝牙、相机等硬件,也能顺利发布到苹果APP store。

移动Web App

  1、因为运行在移动设备的浏览器上,所以只需要一个开发项目

  2、这种应用可以使用HTML5,CSS3以及JavaScript以及服务器端语言来完成(PHP,Ruby on Rails,Python)

  3、这里可没有标准的SDK,基本任意选择别忘了有一些跨平台的开发工具,比如PhoneGap, Sencha Touch 2以及Appcelerator Titanium等等。

原生App

  1、每一种移动操作系统都需要独立的开发项目

  2、每种平台都需要独立的开发语言。Java(Android), Objective-C(iOS)以及Visual C++(Windows phone)等等

  3、需要使用各自的软件开发包,开发工具以及各自的控件

2、能力方面的区别

移动Web App

  只能使用有限的移动硬件设备功能。

原生App

  能够与移动硬件设备的底层功能,比如个人信息,摄像头以及重力加速器等等。对于这一点感触很深刻,2016年做新年H5营销小活动的时候,就是因为没有考虑到H5不能使用移动硬件端重力加速器而导致临时替换设计方案。

3、获取方法的区别

  移动Web App

  1、从移动设备上的浏览器访问

  2、不需要安装额外的软件

  3、软件更新只需要服务器就够了

  4、因为现在没有什么商品或卖场提供这种App,不过一般都是嵌套在系统内部,或者内部系             统中使用

    5、跨平台开发,用户不需要去卖场来下载安装App

      6、需要过度依赖网络,没有任何缓存数据

      7、任何时候都可以发布App,因为根本不需要官方卖场的审核

  8、如果你已经有了一个Web App,你可以使用 responsive web design来辅助改进(这也是优势?)

      9、所有的用户都是用同样的版本

  原生App

  1、直接下载到设备

  2、以独立的应用程序运行(并不需要浏览器)

  3、用户必须手动去下载并安装这些原生App

  4、有一些商店与卖场来帮助用户寻找你的App,app store里面应有尽有。

  5、原生型APP应用的安装包相对较大,包含UI元素、数据内容、逻辑框架;

  6、手机用户无法上网也可访问APP应用中以前下载的数据。

  7、原生型的APP可以调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)

  8、APP应用更新新功能,涉及到每次要向各个应用商店进行提交审核。

      9、用户可以自由地选择是否更新软件版本,所以会出现不同用户同时使用不同版本的情况

 关于两者的交互方式不同的地方,回头令起篇幅再述……

即使两者之间有很大的区别,即使H5有一大堆的坑和问题,但是仍旧不妨碍移动WEB无所不在,移动web是目前唯一的支持各种设备访问的平台,也是唯一一个可供开发者发布移动应用的平台,它将各种移动交互与PC系统任务有效的结合在一起。而原生native app可以充分利用设备的特性,这一点是它得天独厚的优势。所以,对于一个对于决策者来说,如果你是要做一款体验更好的产品的话,那Native App不妨是最佳的选择。当然如果你想尽快让你的产品占住一席之地的话,力求快速开发、低成本、多平台等等的话,那技术还有很多问题都没有很好解决的H5,也是不错的选择。正式因为它有复杂多变的CSS样式消耗了大量性能,它才有一个更有竞争力的优势——它带来了多样性的排版,能够细致到每一个字宽行高和风格的像素级处理,能够给你带来不一样的图文汇合的排版。我想这些更是H5的优异之处吧。

 

 

 

全面对比API和SDK API(Application Programming Interface)和SDK(Software Development Kit)是软件开发中常见的两种工具。API是一组定义、规范了软件如何与其他软件组件交互的接口,而SDK则是一组工具和库的集合,旨在帮助开发人员更快速地开发应用程序。API和SDK在软件开发中都有各自的优点和应用场景。开发人员应根据项目需求和实际情况选择合适的工具,以提高开发效率和代码质量。 阅读详情

相关推荐

H5和android原生APP之间的区别,Android与H5混合开发

什么是原生APP,什么是web APP? Web App即是一种框架型APP开发模式(HTML5 APP 框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。 原生APP又称Native App,该开发针对IOS、Android、Windo...

ZhangJiqun&191cm&85kg 2791

H5和原生APP之间的区别?

转载自:http://www.ui.cn/detail/247751.html 最近项目中因各种客观因素,移动端都是默认用的纯H5 APP,感受最深的就是各种坑啊,好大的坑啊。产品上线后,带着各种坑后的总结原因方发现很多人都说纯H5 APP一次编写就能支持android和IOS两种不同的APP,大大降低了开发成本。可实际的工作中却发现并不是如此,既不省事儿,又有很多BUG,而且各种css的兼容性...

nfzhlk的专栏 2万+

前端项目-stellar-sdk.zip

前端项目-stellar-sdk,Stellar SDK是一个用于与Stellar Horizon服务器一起工作的库。

html5页面的app,h5页面与普通页面、app相比,谁更好?

h5页面正逐渐受到更多人的关注和喜爱,而本期乔布小编就将与大家聊聊h5页面和app及普通页面之间的区别,有兴趣的伙伴们不妨静下心来了解学习一下。Part1:你知道所谓h5页面,即代表的是如今大部分浏览器已经支持html5页面。它有强化Web 网页的表现性能以及追加本地数据库这些Web 应用功能的优势。广义论及的html5实际指的是包含了html、CSS以及JavaScript在内的一套技术的组合。...

weixin_42640676的博客 553

从零到一:揭秘BlueROV2机械爪背后的Pixhawk舵机控制艺术

本文详细解析了如何基于Pixhawk飞控系统为BlueROV2水下机器人构建可靠的舵机控制系统。从硬件选型、ArduSub固件配置到供电安全与故障排除,全面揭秘机械爪背后的控制艺术,为水下机器人爱好者提供实用指南。

ol78901234的博客 243

FLUENT UDF编译及蒸发冷凝相关问题

蒸发冷凝与相间传质

weixin_48029137的博客 1万+

App中3种开发方式:原生、混合和H5异同

原生应用开发,是在Android、IOS等移动平台上利用官方提供的开发语言、开发类库、开发工具进行App开发。比如android是利用java、eclipse、Android studio,IOS是利用Objective-C 和Xcode进行开发。原生应用由于利用的是官方提供的语言和工具并且能够直接操控硬件设备(比如多点触控、NFC、读取短信等),在应用性能上和交互体验上应该是最好的,但是原生应用的可移植性比较差,特别是一款原生的App,Android和IOS都要各自开发,同样的逻辑、界面要写两套。 原生a

晴天的博客 2780

vasp计算练习1-Si

si的vasp训练流程

qq_41074165的博客 3301

H5和原生App的区别

前端常识: 1. 不同形式的移动客户端:体验 H5 原生App 运行环境 浏览器 基于操作系统 例如:安卓、IOS 优点 1. 不需要下载安装 2. 几乎不占用手机存储空间 3. 方便快捷,点开即用 4. 传播成本低 1. 流畅度高,体验好2. 和系统功能完全契合,功能强大 缺点 1. 使用体验差 * 任何一个页面都需要发送网络请求加载 , 断网的情...

无知者无畏 3112

PaddleOCR训练自己的数据

一 、数据准备 采用PPOCRLabel标注自己的数据 PPOCRLabel是一款适用于OCR领域的半自动化图形标注工具,内置PP-OCR模型对数据自动标注和重新识别。使用Python3和PyQT5编写,支持矩形框标注和四点标注模式,导出格式可直接用于PaddleOCR检测和识别模型的训练。 1.1 安装PaddlePaddle pip3 install --upgrade pip # 如果您的机器安装的是CUDA9或CUDA10,请运行以下命令安装 python3 -m pip in.

zyb的博客 1万+

串口通信协议

文章目录前言一、串口通信结构图二、电平三、串口通信协议 前言 本文记录的是平时常用的串口通信有关知识点 提示:以下是本篇文章正文内容,下面案例可供参考 一、串口通信结构图 1、RS232标准串口通讯结构图 2、USB转串口通讯结构图 3、原生的串口到串口 二、电平 串口通信的时候,有三种电平:TTL电平、RS232电平、USB电平 TTL电平是从MCU直接出来的电平 RS323是一种通讯标准,因为高电平+15V低电平–15V电位差30V容错空间大,抗干扰能力强,一般用于工业设备直接通信电平转换芯

weixin_43772611的博客 6858

如何区分手机端 APP 是原生 APP 还是 H5?H5 和原生 APP 之间的区别

如何区分手机端 APP 是原生 APP 还是 H5? 1.如果断开网络,立即显示 404 或者页面错误基本上是 H5 2.通过查看页面布局边界,操作步骤 a.手机设置,开发者选项里去开启,打开页面布局开关,b.然后进入 APP 里查看布局边界即可。(APP 能看到各个控件边界,H5 整体页面布局边界)个人觉得比较好用 3.如果长按页面出现放大镜、复制、粘贴等功能、或者手机震动等情况,基本确定是 H5 4.如果打开一个新页面, 在导航栏下有一条,显示进度加载线,这个页面基本上就是 H5 5.如果 APP 的导

zzhangsiwei的博客 4837

1. SAP Business Application Studio 里创建一个基于 CAP 模型的最简单的 OData 服务

本文基于 SAP Cloud Application Programming 编程模型的 OData 服务开发教程的第一步,简述了 SAP Business Technology Platform 里 Business Application Studio 开发工具的打开方式,创建 Dev Space 以及 CAP 项目的创建步骤,以及如何通过 schema.cds 和 service.cds 分别创建 OData 模型和 OData 服务,最后通过 ports preview 打开 OData 服务预览页

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1800

Web、app、H5、小程序测试的区别

单纯从功能测试的层面上来讲的话,APP 测试、web 测试和H5测试在流程和功能测试上是没有区别的。 Web项目或pc项目都是在电脑上进行测试的。常见的PC项目架构有BS架构和CS架构的,BS架构就是通过浏览器(browser)请求后台服务(server),后台返回到响应内容显示在浏览器上,常见BS架构的项目有天猫、京东等浏览器输入地址就可以访问。CS架构的项目比如QQ、微信等,需要在电脑下载客户端(client),客户端与后台服务器(server)进行数据传输交互。基于以上信息,PC端测试都是

baihehua_1988的博客 6870

9篇2章2节:GBD 数据库的数据申请详解

无论您是初入公共卫生领域的学生、资深的科研工作者,还是政策决策者,GBD数据库都将成为您数据分析与决策支持中不可或缺的重要工具。

MD Code 2602

CloudCompare 二次开发:插件中的 PCL 环境配置与编程

在进行 CloudCompare 的二次开发过程中,我们常常需要使用点云库(Point Cloud Library,简称 PCL)来处理和分析点云数据。在 CloudCompare 的界面中,选中一个点云对象,然后点击菜单栏中的 “插件” -> “MyPluginAction”。插件将对选中的点云对象进行体素滤波处理,并更新显示结果。下面我们将展示一个简单的插件编程示例,该示例使用 PCL 对输入的点云数据进行体素滤波处理。方法进行体素滤波处理,并将结果点云赋值给选中的点云对象。文件并点击 “打开”。

2301_79331387的博客 283

h5和小程序和app的交互方式原理

ios端已经淘汰掉了UIWebView,现在要使。,小程序就是用自己的webview内核。你可以把webview理解。1、webview实现。

Ruiqi8的博客 620

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

小程序开发分享

小程序概述 APP和和H5的区别:原生APP是软件开发者开发后,直接在安卓或者iOS系统中直接运行的软件应用,功能强大,体验好,使用场景非常广。但是在日常生活中,存在使用频率很低,却不得不使用的情况下,APP不太适合这种场景下使用了。 H5,也可以称之为webAPP,本质上就是触屏手机设计的网页。运行H5需要依赖浏览器。所以原生APP和H5中间隔着“浏览器”,导致H5运行速度和整体的体验没有原生A...

读心悦 1008

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

和大家聊聊什么是小程序?

介绍了什么是小程序,以及小程序的特点以及发展优势。

如果巅峰留不住,那就重走来时路! 1223

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

微信小程序底层架构

1. 与h5页面的区别 从技术的发展角度来看,微信小程序是从微信中的 webView 和 JS-SDK 进化到了今天的形态。那么,小程序和普通的h5页面到底有什么区别呢? 运行环境:小程序基于浏览器内核重构的内置解析器,而 h5 的宿主环境是浏览器。所以小程序中没有 DOM 和 BOM 的相关 API,jQuery和一些 NPM 包都不能在小程序中使用; 系统权限:小程序能获得更多的系统权限,如...

wanglele16的博客 1874

Web版App,原生App,混合App的区别以及优缺点

Web版App,原生App,混合App的概念 1.原生App 原生APP,又称为Native App,就是利用Android、iOS平台官方的开发语言、开发类库、工具进行开发。比如安卓的java语言,iOS的object-c 语言。在应用性能上和交互体验上应该是最好的。该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机...

weixin_30568591的博客 363

原生app、混合app、H5(Web App)傻傻分不清楚?

市面上主流的APP分为三种:原生APP、混合APP、H5(Web App)三种,相对应的定制开发就是:原生开发、混合开发、H5开发。那么这三种开发模式究竟有何不同呢?本篇就分别从这三者各自的优劣势来区分比较,以及介绍一些跨端框架,如UniApp等。当然还有现在的鸿蒙开发,鸿蒙开发是华为开发的操作系统,旨在支持多种设备和平台。鸿蒙开发涉及使用特定的编程语言和工具来开发适用于鸿蒙系统的应用程序。因涉及较少,鸿蒙开发本文不做介绍。原生App偏向于交互,注重用户体验(导航切换、勾选选项、图片、视频等操作)。

W1391517383的博客 2252

H5和原生开发的区别

现观目前市场上的APP横行,不同行业、不同类目的APP在国内各大应用市场挤爆的满满了,那么作为一个程序员或者一个企业如何能从容的把握住制作一款实用又符合用户体验的APP呢? 自从接触APP也有四年多了,这里我想简单的介绍下这两者的区别和程序猿、企业应如何正确又快速的做出此款APP的制作时涉及的技术方面的决定。 以下我将以最通俗的说法分7点讲述: 一、概念 a) H5:即Html5,接触过互...

monica1_1的博客 6985

H5页面与原生页面的区别

一、定义 1.H5,即是html5,超文本标记语言,用于描述网页内容结构的语言,网页编程中由它有负责描述页面数据和信息 2.JS,即是JavaScript,广泛用于web应用开发中的脚本语言,负责响应用户的操作,为网页添加动态功能 3.Native App,即传统的原生APP开发模式,Android基于Java语言,底层调用Google的 API;iOS基于Objective-C或者Swift语言,底层调用App官方提供的API 4.Hybrid App,即原生和web的混合开发模式,由原生提供统一的API

weixin_44318891的博客 1万+

uni-app开发的App和H5嵌套封装的App,以及原生App有什么区别

原生 App 是使用平台原生语言(如 iOS 的 Swift/Objective-C,Android 的 Kotlin/Java)开发的应用程序,直接运行在操作系统上。

肖肖肖丽珠的博客 2327
上一篇: 一名3年工作经验的Java程序员应该具备的技能
下一篇: dubbo-admin-2.5.X用idea打war包
海绵中的水
博客等级 码龄10年 4粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值