webview

可通过浏览器访问web应用,今天了解一下webview,简单理解为在原生应用中浏览器引擎,可以加载web资源,实现资源复用,提升原生app的体验和效率。

是什么

WebView 是一种嵌入式浏览器,原生应用可以用它来展示网络内容

  • 原生应用(亦称 app)。原生应用由专门为特定平台设计的编程语言和 UI 框架编写;
  • 嵌入式浏览器。浏览器主要分成UI(地址栏,导航栏按钮等)和标记代码引擎(渲染网页),其中webview作为浏览器引擎部分,可以像插入iframe一样将 Webview插入到原生应用中,并且编程化的告诉它将会加载什么网页内容。可以看做为原生App的视觉部分,实现访问web服务器资源,并将内容在原生应用中展示出来;实现web应用和原生应用之间重用代码。
  • swift 多进程 多进程webview是什么东西_swift 多进程

  • 永远不能完全信任加载的 Web 内容。
    默认情况下,在 WebView 或 Web 浏览器中运行的任何 Web 代码都与应用的其余部分保持隔离。出于安全原因,主要是为降低恶意的 JavaScript 代码对系统造成的伤害。与web浏览器不同,WebView下,开发人员可以完全控制加载的内容。
  • bridge
    开发人员可以使用各种受支持的方式来覆盖默认的安全行为,并让 Web 代码和原生应用代码相互通信。这种沟通通常称为 bridge。为 Web 编写的相同 JavaScript 不仅可以在 WebView 中运行,还可以调用原生 API 并帮助你的应用系统级功能提升应用能力,更接地气。
  • swift 多进程 多进程webview是什么东西_ViewUI_02

应用

  • App 内置浏览器
    需求:在移动设备上启动浏览器,将用户从一个应用切换到另一个应用以及希望他们找到返回应用的操作。可以借助webview在应用本身内完全加载链接的内容,访问应用。
  • 广告投放
  • 通过 WebView提供的Web内容
  • 全屏混合应用
  • 应用所做的唯一原生操作就是托管 WebView,而 WebView 又加载 Web 内容和用户交互的所有 UI, 构成了整个应用用户体验。
  • 主要是节省人力和资源;
  • 减少原生耗时审核与从商店中获取;
  • 原生应用扩张
  • 许多原生应用(尤其是桌面应用)为你提供了一种通过安装加载项或扩展程序来扩展其功能的方法。由于 Web 技术的简单性和强大,这些加载项和扩展通常以 HTML、CSS 和 JavaScript 而不是 C++,C# 或其他方式构建。例如Office提供了基于office.js的add-in开发.

总结

webview只不过是一个在应用中设置好位置和大小的浏览器, 因此除原生api测试之外,其它都可以在浏览器端调试。注意在不同系统上,默认支持浏览器渲染引擎不同。
-  IOS(webkit)
- Android(blink)
- window/linux/macOS(blink和chrome)
深知原创文章的不易,感谢原作者的分享,