app中的webview是什么?如何理解?

app中的webview是什么?如何理解?

当你上网阅读东西时,我们一般会选择一款浏览器,比如Chrome、火狐、safari、IE或者Edge。你可能不知道这些浏览器之间有一些竞争,而竞争的主要形式就是WebView。

WebView的定义

什么是WebView呢?它是本地应用程序内嵌的一个浏览器!这句话有两处需要搞清楚!

  1. 本地应用程序一般会采用诸如C++、Java、OC等语言配合它们各自的UI框架去开发,一般情况下,是不能跨平台的,比如ios和android就需要同时开发两个版本,pc和手机本地应用程序也是不兼容的。

  2. 浏览器的特点,其实它大概可以分为两部分

上面是火狐的一个页面,红色区域可以认为是WebView,它拥有渲染引擎,可以通过http/https请求加载内容,加载回来的代码就可以被执行和渲染出来。红色区域以上的部分就是浏览器本地的UI组件。

移动端app中WebView的特点

我们经常把h5页面内嵌入app中,这种就是混合型的app,除了渲染页面本身的功能外,页面中的js还有能力调用app系统接口的,比如某些弹窗、分享等,这些区别对用户来说都是无感知的。

在普通浏览器中是没有这个能力的,至少浏览器没有开放这些api。

 

混合型的app一部分是native UI,一部分是H5页面,我们如何判断是前者还是后者?
在安卓中可以通过开启”设置“->”开发者选项“->”显示布局边界“,所有NA部分都会被红色的框选出来。(苹果手机没有这个开关)

 

WebView中的渲染引擎

  1. ios中,渲染引擎是webkit,和safari、chrome相同

  2. Android中,渲染引擎是Blink

  3. 在Window、Linux和macOS中,渲染引擎的选择就比较灵活了,比较知名的有chrome的Blink、IE的Trident,它主要依赖于app和WebView的实现

WebView带来的好处

  1. 因为它是从服务端加载页面资源,所以更新就比较方便,如果采用native UI那就要经历繁琐的审核过程。

  2. 夸平台,不用各个平台都开发一套代码

总结

可以认为WebView就是浏览器,只是在不同平台长相和能力有所不同!

 

喜欢我的回答就关注我吧,有问题可以发表评论,我们一起学习,共同成长!

 


 

App中的WebView可以理解为一个浏览器,因为它具有基本的浏览器能力,包括加载网页,js控制等;

首先,看一下安卓端webview的一些介绍。

是一个基于引擎、展现页面的控件。可以显示和渲染Web页面,与JS交互,也可以和原生代码交互。

然后可以参考下各大APP,如淘宝、支付宝、京东、美团等;这里截取几张图示例下。

(截图来自支付宝、淘宝),上面2个页面都是在app内内嵌了定制的webview组件,用于展示一些额外的信息(非组件化的),灵活性高;

其次,webview作为app中重要的组成部分,如混合APP, 纯H5 App;

最后,题主若还有疑问,欢迎@我。

 


 

WebView(网络视图)能加载显示网页,可以将其视为一个浏览器。

在Android手机中,网页的解析和显示网页的能力是由webkit内核实现的。

(如chrome浏览器使用的是webkit内核,现在,webkit被内置到了android系统中)

webview对网页处理也是交给强大的webkit做的

webview在android SDK(原生)中:

封装为一个叫做WebView组件,通过这个组件可以在app中显示html+css+js,当然也就可以显示一个远程url,比如用它打开百度首页是可以的。

可以理解为:android开发中的一个activity里使用了webview组件,并打开了一个html页面呈现给用户。

其中“activity”是android原生开发时的“一张页面”,app的所谓跳转到不同“页”是在activity中跳来跳去,activity是java的一个类,布局则是使用xml(如果没做过原生android开发就这么理解就行)

webview在mui app框架开发中:

在mui开发中,这些webview就是一张一张的网页。

这些网页是webview对象,其操作方法被封装在html5+的plus.webview对象中

webview本身只是个浏览器效果组件,切换即使网页之间的跳转,理论上不可能像原生的activity中切换一样流畅,本身也不会有什么动画。

还好,mui的开发组,dcloud(数字天堂)和他们的html5+中国产业联盟(社区)实现了webview切换的动画效果,他们把这些webview映射到了真正的java webview,调用的也是原生的activity切换动画,从而使得webview切换也可以像原生app activity一样切换的效果!图一(简约图)原生开发和mui的hybrid模式区别图:(图二)希望帮助到你![玫瑰]



投稿时间:2019-06-17  最后更新:2020-11-16

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值