H5 APP和Native APP的本质区别

一般来讲,APP能做什么主要取决于运行这个APP的操作系统允许它能做什么,也就是说它的天花板就在它运行的操作系统上。

第一,H5 APP的操作系统是浏览器,而操作系统决定APP的天花板

操作系统可以理解成一个运行环境,或者说一个运行容器。它提供了不同的功能给运行在它上面的APP进行调用,以及指导APP应该怎样执行。

H5 APP,又称为Web APP,就是基于手机浏览器的。对于H5 APP来讲,浏览器就是它的操作系统,就是它的容器,它逃不出这个容器所制定的条条框框。也就是说,浏览器允许它做什么,它就能做什么。大体可以理解为,浏览器就是Web APP的天花板,Web APP不可能冲破这个天花板看到浏览器以外的世界。

Native APP,又称为原生APP,是基于手机操作系统的,如Android、iOS等。只要操作系统提供了相应的接口和功能,Native APP就能做什么功能。也就是说,操作系统是Native APP的天花板。

所以我们看下浏览器相比真实的操作系统限制在哪里,大体上就能知道H5 APP和Native APP之间的区别了。

  • 开发语言及跨平台

作为H5 APP操作系统的浏览器,其本质上是为了运行网页而存在的。而网页基本就是HTML、CSS、JavaScript三者的组合,所以无论你开发框架怎么变,基本上都是围绕这3方面的技术,如Vue、React、Flutter等。

而因为无论是在iOS或Android上,浏览器都是标配,且safari和chrome的内核都是基于webkit,从而也就让我们可以只写一套基于浏览器的代码,就能在不同的手机上运行。

反观Native APP,其直面的是操作系统Android、iOS等,而操作系统又各自根据自身的特性提供了各自提倡的开发原生APP的开发语言,比如Android上的java/kotlin和iOS上的Objective-C/swift。

而因为各自都是和操作系统直接打交道的,所以用到的系统特性及API等肯定各不相同,从而也就导致了java写的安卓应用不能在iOS上运行,反之亦然。

  • B/S模式限制

因为H5 APP只能运行在浏览器上,而浏览器上的应用首先你需要从网络上拿到相应的HTML等代码进行显示和交互,同时往往还需要和服务器通过网络进行访问,否则你只显示一些静态页面也没意思。

所以H5 APP更多采用的是B/S模式,而B/S模式肯定是需要网络的支持。也就是说,H5 APP离开了网络就啥都不是。

反观Native APP,则完全可以随心所欲,喜欢用到网络你就做成B/S模式,不喜欢你就做个单机应用,比如单机版的小工具、小游戏之类的。

  • 是否能发挥操作系统的全部优势

对于浏览器来说,因为它的主要目的就是为了显示网页,所以它能提供的功能也主要就是网页渲染而已。也就是说浏览器本身都没有用上操作系统的所有功能。

所以对于运行在上面的H5 APP而言,能做的也就是显示页面及一些交互而已。如果你想它做一些超过浏览器提供能力范畴以外的事情,就只能望洋兴叹了。

至于Native APP,因为是直接和操作系统打交道,只要操作系统提供了相应的功能和访问接口,一般来讲,你喜欢怎么玩就可以怎么玩。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值