XWebView 0.12.1

XWebView 0.12.1

测试已测试
Lang语言 SwiftSwift
许可证 Apache 2
发布最后发布2017年4月
SwiftSwift 版本3.0
SPM支持 SPM

Liang Zhenyu 维护。



XWebView 0.12.1

  • Liang Zhenyu,Dong Jonathan,Kim David 和 Martínez Fernando

XWebView - iOS 可扩展 WebView

简介

XWebView 是一个基于 iOS 8.0 中首次亮相的现代 WebKit 框架 `WKWebView` 的可扩展 WebView。它提供快速的 Web 运行时,并精心设计了插件 API,以开发复杂的 iOS 原生或混合应用。

用 Objective-C 或 Swift 编写的插件可以自动暴露在 JavaScript 上下文中。通过插件提供的能力,Web 应用可以看起来和表现得像原生应用,而不再是 iOS 平台上的二等公民。

示例项目

有关如何使用 XWebView 的完整示例,包括 Swift 和 JavaScript 代码,请参阅 示例项目

功能

基本上,插件是导出其接口到 JavaScript 环境的原生类。在 JavaScript 中调用插件对象的方法和访问其属性会产生对原生插件对象的操作。如果您了解 Apache Cordova,您可能已经了解插件的概念。XWebView 以更简化的方式做到更多。

与 Cordova 不同,对于大多数 XWebView 插件,您通常不需要编写 JavaScript 骨干文件。生成的骨干文件适用于大多数情况。骨干文件通过编译器提供的类型信息在运行时动态生成。您仍有机会针对特殊情况进行骨干文件的覆盖。

XWebView 插件 API 的形式类似于仅在 OS X 上可用的 WebKit 的脚本 API。尽管 WKWebView 的 JavaScript 上下文在 iOS 上无法访问,但通信是通过底层的 消息传递 实现的。

除了映射到普通的JavaScript对象之外,插件对象还可以映射到JavaScript函数。函数的调用会导致插件对象的某个原生方法的调用。

此外,JavaScript构造函数也得到支持。插件可以有多个实例。在这种情况下,一个初始化器被映射到构造函数的函数上。同时,插件的主对象作为构造函数的原型来创建。每个实例都有一对原生和JavaScript对象,它们共享相同的生命周期和状态。

XWebView是为嵌入设计的。由于它是WKWebView类的扩展,因此很容易采用。基本上,只需要处理创建和加载插件对象的额外步骤。另外,XWebView为插件提供了两种线程模式:Grand Central Dispatch(GCD)和NSThread。

更多文档,请访问项目Wiki

最低要求

  • 开发:Xcode 8.2
  • 部署:iOS 9.0

XWebView 与 Swift

Swift XWebView
3.1 0.12.1
3.0.2 0.12.0
3 0.11.0
2.3 0.10.0
2.2 0.10.0

许可证

XWebView是在Apache License 2.0下分发的。