关于webkit:reactnative必备WebView篇
什么是WebView、WebView倒退过程、WebView DevTools怎么用?如何调试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月起App Store将不再承受应用UIWebView的app上架,同年12月不再容许更新。 WKWebView是一个古代的反对最新Webkit 性能的网页浏览控件,它有极强的性能和以下几大长处: 采纳跨过程计划Nitro JS解析器,60fps的刷新率,性能和safari比肩,对h5实现了高度反对内存开销更小内置手势反对更多h5个性和safari应用雷同的js引擎---JavaScriptCore提供罕用的属性,如加载网页进度的属性自此之后IOS始终应用WKWebView,每个版本都很稳固 AndroidAndroid(4.4 KitKat 版本之前)应用的是Webkit作为其引擎,4.4开始(API 级别 targetSdkVersion 19)引入了基于 Chromium 的新版 WebView,自此包含了 V8 JavaScript 引擎,并反对以前在旧 WebViews 中短少的古代 Web 规范。 新的 WebView 与安卓上的Chrome for Android有一样的引擎,因而 WebView 和安卓里的 Chrome 之间的渲染更加统一。 如果您的 targetSdkVersion 设置为“18”或更低版本,则 WebView 将在“怪异模式”下尽可能严密地运行,以防止上述某些行为变更,同时仍为利用提供性能和网络规范降级。 不过要留神的是,Android 4.4 基本不反对单列和窄列布局以及默认缩放级别,可能会存在未发现的其余行为差别,因而请务必在 Android 4.4 或更高版本上测试您的利用,即便 targetSdkVersion 设置为“18”或更低版本也是如此。 从产品角度来讲,Android 版 Chrome 与 WebView 是离开的。它们都基于Chromium,然而仍有局部性能WebView依然应用不了,比方Form validation、Fullscreen API 等等。 如果你想查看本人的Android System WebView版本,能够关上开发者模式,在开发者选项里看到 WebView implementation,这些版本 ID 与 Android 版 Google Chrome 的版本 ID 雷同 ...