All Projects → XWebView → Xwebview

XWebView / Xwebview

Licence: apache-2.0
An extensible WebView for iOS (based on WKWebView)

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Xwebview

QWWebViewFullScreenPopGesture
An WKWebView's category to enable fullscreen pop gesture in an iOS8+ system style with AOP.
Stars: ✭ 32 (-92.76%)
Mutual labels:  wkwebview
Gloo
The Feature-rich, Kubernetes-native, Next-Generation API Gateway Built on Envoy
Stars: ✭ 3,219 (+628.28%)
Mutual labels:  hybrid-apps
Wkwebview
WKWebView的使用、JS和OC的交互、网页内容加载进度条的实现、WKWebView+UITableView混排 、 WKWebView离线缓存
Stars: ✭ 366 (-17.19%)
Mutual labels:  wkwebview
CNBlogApp
博客园Vue客户端
Stars: ✭ 51 (-88.46%)
Mutual labels:  hybrid-apps
ionic-modal-custom-transitions
Add Custom Transitions to Ionic Modals.
Stars: ✭ 22 (-95.02%)
Mutual labels:  hybrid-apps
Macpin
a webapp container & site specific browser made from WebKit.swift and JavaScriptCore
Stars: ✭ 289 (-34.62%)
Mutual labels:  wkwebview
FWDebug
iOS调试库,支持iOS11+,无需添加任何代码,方便iOS开发和测试。 iOS debugging library, support for iOS11 +, without adding any code to facilitate iOS development and testing.
Stars: ✭ 49 (-88.91%)
Mutual labels:  wkwebview
Bookchatapp
通用书籍阅读APP,BookChat 的 uni-app 实现版本,支持多端分发,编译生成Android和iOS 手机APP以及各平台的小程序
Stars: ✭ 410 (-7.24%)
Mutual labels:  hybrid-apps
WAT-UWP
🌐 Web App Template (WAT) for Universal Windows Platform (UWP)
Stars: ✭ 13 (-97.06%)
Mutual labels:  hybrid-apps
Guark
Build awesome Golang desktop apps and beautiful interfaces with Vue.js, React.js, Framework 7, and more...
Stars: ✭ 334 (-24.43%)
Mutual labels:  hybrid-apps
RichText
Easily show RichText(html) in SwiftUI
Stars: ✭ 25 (-94.34%)
Mutual labels:  wkwebview
cordova-plugin-wkwebview-inject-cookie
Injects a cookie in order to start the sync processs with wkWebView
Stars: ✭ 43 (-90.27%)
Mutual labels:  wkwebview
Corber
CLI for building hybrid apps with Ember/Vue/Glimmer/Cordova
Stars: ✭ 327 (-26.02%)
Mutual labels:  hybrid-apps
vue-desktop-framework
A framework for making hybrid desktop app powered by electron and vue.
Stars: ✭ 21 (-95.25%)
Mutual labels:  hybrid-apps
Marionette
🧸 Swift library which provides a high-level API to control a WKWebView
Stars: ✭ 374 (-15.38%)
Mutual labels:  wkwebview
Ionic-ElastiChat-with-Images
Ionic Magic Chat with Angular Elastic, Autolinker.js and more!
Stars: ✭ 66 (-85.07%)
Mutual labels:  hybrid-apps
Macaca
Automation solution for multi-platform. 多端自动化解决方案
Stars: ✭ 2,991 (+576.7%)
Mutual labels:  hybrid-apps
Phonon
Phonon is a responsive front-end framework with a focus on simplicity and flexibility
Stars: ✭ 425 (-3.85%)
Mutual labels:  hybrid-apps
Pull To Reload
Pull to reload implementation for the web. Designed to work with both mobile and websites.
Stars: ✭ 396 (-10.41%)
Mutual labels:  hybrid-apps
Vue2 Hybridapp Haoshiqi
vue2+vue-router+vuex+cordova 实现单页面webapp以及hybridapp
Stars: ✭ 332 (-24.89%)
Mutual labels:  hybrid-apps

XWebView - eXtensible WebView for iOS

Build Status

Introduction

XWebView is an extensible WebView which is built on top of WKWebView, the modern WebKit framework debuted in iOS 8.0. It provides fast Web runtime with carefully designed plugin API for developing sophisticated iOS native or hybrid applications.

Plugins written in Objective-C or Swift programming language can be automatically exposed in JavaScript context. With capabilities offered by plugins, Web apps can look and behave exactly like native apps. They will be no longer a second-class citizen on iOS platform.

Sample Project

For a complete example on how to use XWebView including both Swift and JavaScript code, see the Sample Project.

Features

Basically, plugins are native classes which can export their interfaces to a JavaScript environment. Calling methods and accessing properties of a plugin object in JavaScript result in same operations to the native plugin object. If you know the Apache Cordova, you may have the concept of plugins. Well, XWebView does more in simpler manner.

Unlike Cordova, you needn't to write JavaScript stubs for XWebView plugins commonly. The generated stubs are suitable for most cases. Stubs are generated dynamically in runtime by type information which is provided by compiler. You still have opportunity to override stubs for special cases.

The form of XWebView plugin API is similar to the scripting API of WebKit which is only available on OS X. Although the JavaScript context of WKWebView is not accessible on iOS, the communication is bridged through message passing under the hood.

Besides mapping to an ordinary JavaScript object, a plugin object can also be mapped to a JavaScript function. Calling of the function results in an invocation of a certain native method of the plugin object.

Further more, JavaScript constructor is also supported. A plugin can have multiple instances. In this case, an initializer is mapped to the function of constructor. Meanwhile, principal object of the plugin is created as the prototype of constructor. Each instance has a pair of native and JavaScript object which share the same life cycle and states.

XWebView is designed for embedding. It's easy to adopt since it's an extension of WKWebView class. Basically, creating and loading plugin objects are the only additional steps you need to handle. Additionally, XWebView offers 2 threading modes for plugin: Grand Central Dispatch(GCD) and NSThread.

For more documents, please go to the project Wiki.

Minimum Requirements:

  • Development: Xcode 8.2
  • Deployment: iOS 9.0

XWebView vs. 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

License

XWebView is distributed under the Apache License 2.0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].