什么是WebView,WebView开发流程,如何使用WebViewDevTools?如何调试WebView?你可能会在下面看到很多加粗的名词,你可能看不懂。别着急,后面我会慢慢介绍的。WebView的开发可以部署在iOS、Android等平台,实现跨平台开发;发布更新快,可以在服务器端发布,也可以实时更新终端显示,方便快速升级和紧急bug修复;内容复杂等等。WebView诞生并开始逐渐发展。IOS从IOS2开始,出现了UIWebView。开发人员只需创建一个UIWebView对象,将其附加到窗口,然后向其发送加载Web内容的请求。您还可以使用此类在网页历史记录中向前和向后移动,甚至以编程方式设置一些网页内容属性。但是随着人们对移动端的依赖,UIWebView已经逐渐不能满足人们的需求。UIWebView和app之间的通信只能通过js或者UIWebViewDelegate来完成。客户端向UIWebView网页传递参数或从中获取数据是比较复杂的。IOS8之后,出现了WKWebView,UIWebView逐渐不用了。在IOS13版本中,UIWebView被列为过期API。从2020年4月起,AppStore将不再接受使用UIWebView的应用,同年12月也不再允许续订。WKWebView是一个现代的网页浏览控件,支持最新的Webkit功能。它具有极强的性能和以下优点:采用跨进程解决方案NitroJS解析器,60fps刷新率,性能媲美Safari,实现了高度的h5支持更少的内存开销内置手势支持更多的h5特性和safari使用相同的js引擎---JavaScriptCore提供了常用的属性,比如加载网页进度的属性从那以后,IOS一直使用WKWebView,而且各个版本都很稳定AndroidAndroid(4.4之前的KitKat版本)使用Webkit作为引擎,和4.4(API级别targetSdkVersion19)引入了基于Chromium的新版本WebView,此后包含V8JavaScript引擎并支持以前在旧WebView中缺失的现代Web标准。新的WebView在Android上拥有与ChromeforAndroid相同的引擎,因此WebView和Chrome在Android上的渲染更加一致。如果您的targetSdkVersion设置为“18”或更低,WebView将在“怪癖模式”下尽可能紧密地运行以避免上述一些行为变化,同时仍为应用程序提供性能和网络标准升级。请注意,尽管Android4.4根本不支持单列和窄列布局以及默认缩放级别,但可能还有其他未发现的行为差异,因此请务必在Android4.4或更高版本上测试您的应用,即使设置了targetSdkVersion也是一样的对于“18”或更低的数字是正确的。从产品的角度来看,ChromeforAndroid与WebView是分开的。它们都是基于Chromium的,但是还是有一些WebView还不能使用的功能,比如Form验证,FullscreenAPI等等。如果你想查看你的Android系统WebView版本,你可以开启开发者模式,在开发者选项中查看WebView的实现。这些版本ID与GoogleChromeforAndroid的版本ID相同。从Android7(API级别24)开始,WebView在GooglePlay商店中作为单独的应用程序提供。我们可以安装它们的任意组合来测试几个即将发布的WebView版本以及最新的稳定版本。与Chrome一样,WebView有四个发布渠道:稳定渠道:默认情况下在每台带有WebView的Android设备上安装和更新。完成测试。最不可能崩溃或有其他主要错误。次要版本每2-3周更新一次,主要版本每4周更新一次。测试频道:适用于Android6(API级别23)及更高版本。发布前测试过,但不是那么稳定。每周主要更新,然后是稳定的次要更新。开发频道:在Android7及更高版本上公开可用。Stable之前的两次主要更新,代表每周更新积极开发的内容。最少的测试。Canary版本:适用于Android7及更高版本。每日发布。包括前一天的最新代码更改。未经测试或使用。如果您正在寻找特定版本的Chromium,您可以在ChromiumDash上的每个频道中找到最新版本。如果想查看Android各个版本更新的具体介绍,可以查看这里。引擎介绍平时我们经常会提到引擎,但是分不清到底包括了哪一个,它们是一种什么样的关系。让我为你整理一下。每个浏览器引擎其实都由两部分组成,一个是JS引擎,一个是渲染引擎。目前主流的js相关引擎有3个,包括上面提到的Webkit、Blink、Gecko。重点说一下前两个WebkitWebKit是苹果公司开发的浏览器引擎。它于2001年6月25日在Apple内部推出。主要用于Safari网络浏览器和所有iOS网络浏览器(GoogleChrome、Edge浏览器、IOS上的Firefox)。浏览器等),Webkit的渲染引擎是WebCore,JS引擎是JavaScriptCore。2008年6月2日,WebKit项目转变为SquirrelFishExtreme(缩写为SFX,市场名称为Nitro),并于2008年9月2日,V8作为Chrome的一部分首次亮相,性能比之前的任何引擎都要好得多!随后Apple在9月18日宣布,WebKit将JavaScript编译成原生机器码,不再需要字节码解释器,从而加快JavaScript的执行速度。其性能比其前身高出30%。查看webkit引擎支持特性和CSS功能,可以点击这里Blink按提交次数。谷歌一直是WebKit代码库的最大贡献者,但由于与苹果对WebKit未来发展的考虑相冲突,2013年4月3日,谷歌宣布将WebKit中的渲染引擎WebCore的分支之一命名为Blink.Blink引擎创建了自己的渲染引擎和V8JavaScript引擎。上面经常提到Chromium,而Blink实际上是整个Chromium的一部分。而Chromium是什么,Chromium是一个免费的开源软件项目,一直由谷歌维护。Chromium为谷歌浏览器提供了大部分源代码,因此谷歌选择了“Chromium”这个名字。可以这样理解,Chromium+集成谷歌产品=GoogleChromeGoogleChrome是一个商业项目,Chromium是中立的,没有立场。此外,还使用了基于Chromium的浏览器如MicrosoftEdge、Opera、奇虎360安全浏览器等,也使用了一些著名的框架,如Electron如QQ浏览器、UC浏览器、Chrome浏览器等.,内置了自己的内核或者修改了别人的内核都与Android中的WebView无关。但是一些安装包比较小的浏览器,比如旗鱼浏览器(点此下载)、via浏览器、魔力浏览器等,它们是通过直接调用Android系统自带的webviewWebViewDevTools来浏览网页的,我们理解为WebView,你需要学习如何调试WebView。如上所述,我们可以通过任意组合来测试即将推出的几个WebView版本和最新的稳定版本。我们可以安装稳定版、开发版、测试版和金丝雀版。每个包安装打开后,会自动在桌面生成一个工具图表,我们也可以查看设备上出现的WebView崩溃情况。然后就可以打开工具进行调试了。如果想调试AndroidWebView稳定版原生版本的参数,也可以安装WebViewTest。目前,我已经测试过了。多用户功能的OPPO手机安装后进入WebView,无法切换WebView。执行的时候,新安装的WebView会被禁用,下面的提示已经为其他用户和访客卸载了这个功能。我在其他手机上测试过,没有发现任何问题。下面分享一下具体的安装过程:Android10(API级别29)及更高版本启用Android的DeveloperOptions菜单通过Playstore安装单独的WebViewBeta应用程序导航到DeveloperOptions>WebViewImplementation,选择您要用于WebView的WebViewchannelforAndroid7到9(API级别24-28)启用Android的开发者选项菜单安装ChromeBeta导航到DeveloperOptions>WebViewImplementations,选择你要用于WebView的Chrome通道安装过程可能会很坎坷问题,欢迎私信作者自己在浏览器调试WebView对于web前端同学来说,在浏览器调试可能比较熟悉,下面分享一下WebView的浏览器调试方法。Android在Android4.4(KitKat)或更高版本上,您可以使用GoogleChrome的开发者工具来调试Android项目中的WebView内容。首先我们需要调用项目中WebView类的静态方法setWebContentsDebuggingEnabled。if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.KITKAT){WebView.setWebContentsDebuggingEnabled(true);}WebView调试不受应用程序清单中可调试标志状态的影响。如果只想在debuggable为true时启用WebView调试,请在运行时测试该标志。如果(Build.VERSION.SDK_INT>=Build.VERSION_CODES.KITKAT){if(0!=(getApplicationInfo().flags&ApplicationInfo.FLAG_DEBUGGABLE)){WebView.setWebContentsDebuggingEnabled(true);}}以上设置适用于应用程序的AllWebViews。打开手机的开发者模式,连接电脑,打开应用的WebView。输入chrome://inspect,页面会显示设备上启用了调试的WebView列表。要开始调试,请单击要调试的WebView下方的检查。IOS手机连接mac电脑,启动项目,打开WebView页面,打开Safari,在开发工具栏,可以看到你的模拟器或者手机的名字,找到对应的页面,开始调试最后,如果你想提高手机页面的加载速度,可以查看这个-->《性能优化必备:让你的移动端网页1s之内呈现!》参考链接:https://en.wikipedia.org/wiki/WebKithttps://en.wikipedia.org/wiki/Blink_(浏览器引擎))https://en.wikipedia.org/wiki/Chromium_(web_browser)#Browsers_based_on_Chromium#Browsers_based_on_Chromium)https://developer.apple.com/documentation/webkit/wkwebviewhttps://developer.android.com/guide/webapps/migratinghttps://developer.chrome.com/docs/multidevice/webview/https://developer.android.com/guide/webapps/webview-testinghttps://geekflare.com/android-system-webview/https://铬。googlesource.com/chromium/src/+/master/android_webview/docs/developer-ui.mdhttps://developer.chrome.com/docs/devtools/remote-debugging/webviews/
