如果你必须使用纯原生应用,不仅需要为构建应用的每个平台更新项目,你可能必须经历耗时的应用审核过程才能使你的更新在所有的应用商店获取到。从部署和更新的角度来看,混合应用非常方便。将这种便利性与原生设备访问相结合能为你的 Web 应用提供超能力,这样你就拥有了一个成功的技术解决方案。WebView 使一切成为可能。
原生应用扩展你将看到 WebView 使用的最后一个大类与可扩展性有关。许多原生应用(尤其是桌面应用)为你提供了一种通过安装加载项或扩展程序来扩展其功能的方法。由于 Web 技术的简单性和强大,这些加载项和扩展通常以 HTML、CSS 和 JavaScript 而不是 C ,C# 或其他方式构建。一个流行的例子是 Microsoft Office。构成 Microsoft Office 的各种应用尽可能是原生和经典的方式,但是为其构建扩展的方法之一就涉及 Web 技术。例如,一个流行的此类扩展是维基百科应用:
这些基于 Web 的扩展程序(如维基百科)在 Word 等 Office 应用中的表现方式是通过——是的,WebView:
WebView 中显示的实际内容来自此URL。当你在浏览器中访问该页面时,你并没有真正看到很多内容。是原生应用功能和 Web 代码(通过 WebView 暴露)的功能之间的交集使体验工作完整。作为 Word 应用内维基百科扩展的用户,你可能永远不会有疑问幕后发生了什么,因为功能已经被很好地集成,我们要的仅仅是它能正常工作。
WebView(通常)并不特别WebView 非常棒。虽然看起来它们看起来像是完全特殊和独特的野兽,记住,它们只不过是一个在应用中设置好位置和大小的浏览器,而且不会放置任何花哨的 UI。其实还有更多东西,但这是它的精髓。在大多数情况下,除非你要调用原生 API,否则不必在 WebView 中专门测试 Web 应用。除此以外,你在 WebView 中看到的内容与你在浏览器中看到的内容相同,尤其是使用同一渲染引擎时:
- 在 iOS 上,Web 渲染引擎始终是 WebKit,与 Safari 和 Chrome 相同。是的,你没看错。iOS 上的 Chrome 实际上使用了 WebKit。
- 在 Android 上的渲染引擎通常是 Blink,与 Chrome 相同。
- 在 Windows,Linux 和 macOS 上,由于这些是更宽松的桌面平台,因此在选择 WebView 风格和渲染引擎时会有很大的灵活性。你看到的流行渲染引擎将是 Blink(Chrome)和 Trident(Internet Explorer),但是没有一个引擎可以依赖。这完全取决于应用以及它正在使用的 WebView 引擎。
我们可以花更多的时间来了解 WebView,并更深入地了解它们提供的一些特殊行为,但这会让我们偏离主题。对于我们在本篇文章要讲的东西,不偏离主题并宽泛了解WebView 才是正确的——至少到目前为止。
如果你对此主题或任何其他主题有疑问,最简单的方法是通过我们的论坛,这里有一群最友好的人等着你的到来,并且会乐于帮助你解决问题!
推荐JavaScript经典实例学习资料文章《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
作者:子非
转发链接:https://juejin.im/post/5ce76ee4f265da1b8d15f700