WebViewWarmUper - Boost WKWebView loading speed

  •        834

WKWebView inititalization and first load are very slow. WebViewWarmUper warm-ups WKWebView and UIWebView for faster first load. Download sample project to test it. You can create issue or pull requests if you have any proposals. You can simply copy source files from Classes folder (WebViewWarmuper.swift) to your project.




Related Projects

react-native-wkwebview - WKWebview Component for React Native

  •    Objective-C

React Native comes with WebView component, which uses UIWebView on iOS. This component uses WKWebView introduced in iOS 8 with all the performance boost. Deployment Target >= iOS 8.0 is required (which is React Native's current minimum deployment target anyway).

cordova-plugin-wkwebview-engine - Mirror of Apache Cordova wkwebview engine plugin

  •    Objective-C

This plugin makes Cordova use the WKWebView component instead of the default UIWebView component, and is installable only on a system with the iOS 9.0 SDK.In iOS 9, Apple has fixed the issue present through iOS 8 where you cannot load locale files using file://, and must resort to using a local webserver. However, you are still not able to use XHR from the file:// protocol without CORS enabled on your server.

AppAuth-iOS - iOS and macOS SDK for communicating with OAuth 2.0 and OpenID Connect providers.

  •    Objective-C

AppAuth for iOS and macOS is a client SDK for communicating with OAuth 2.0 and OpenID Connect providers. It strives to directly map the requests and responses of those specifications, while following the idiomatic style of the implementation language. In addition to mapping the raw protocol flows, convenience methods are available to assist with common tasks like performing an action with fresh tokens. It follows the best practices set out in RFC 8252 - OAuth 2.0 for Native Apps including using SFAuthenticationSession and SFSafariViewController on iOS for the auth request. UIWebView and WKWebView are explicitly not supported due to the security and usability reasons explained in Section 8.12 of RFC 8252.

IMYWebView - UIWebView seamless switching to WKWebView

  •    Objective-C

UIWebView seamless switching to WKWebView

TOWebViewController - A view controller class for iOS that allows users to view web pages directly within an app

  •    Objective-C

TOWebViewController is an open-source UIViewController subclass designed to let apps quickly present web page content to its users, without needing to kick them over to Safari. TOWebViewController has been designed from the ground up to be easily integrated into existing projects, to take advantage of the latest features of iOS, and to optionally be backwards compatible with (significantly) earlier versions of iOS. TOWebViewController is smart enough to be able to tell when it's being presented as a modal popup, and when it's being pushed onto a UINavigationController and to change its button layout accordingly.

WKWebViewJavascriptBridge - 🌉 A Bridge for Sending Messages between Swift and JavaScript in WKWebViews

  •    Swift

You can write hybrid moudles in just a few lines of code by use WKWebViewJavascriptBridge without need to be concerned with the underlying messaging implementation. It is well known that WKWebView loads web pages faster and more efficiently than UIWebView, and also doesn't have as much memory overhead for you.

WKWebViewTips - WKWebView Tips (iOS 8.1.0)


This is what I learned about WKWebView, Apple's new WebKit API debuted on iOS 8. As of this writing, the latest iOS version is iOS 8.1.3.

iosMath - Beautiful math equation rendering on iOS and MacOS

  •    Objective-C

iosMath is a library for displaying beautifully rendered math equations in iOS and MacOS applications. It typesets formulae written using the LaTeX in a UILabel equivalent class. It uses the same typesetting rules as LaTeX and so the equations are rendered exactly as LaTeX would render them. It is similar to MathJax or KaTeX for the web but for native iOS or MacOS applications without having to use a UIWebView and Javascript. More importantly, it is significantly faster than using a UIWebView.

WBWebViewConsole - In-App debug console for your UIWebView & WKWebView

  •    Objective-C

WBWebViewConsole is BSD-licensed. see the LICENSE file. The files in the /Examples directory are licensed under a separate license as specified in Examples/README.md.

remotedebug-ios-webkit-adapter - Debug Safari and WebViews on iOS from tools like VS Code, Chrome DevTools, Mozilla Debugger

  •    TypeScript

RemoteDebug iOS WebKit Adapter is an protocol adapter that Safari and WebViews on iOS to be debugged from tools like VS Code, Chrome DevTools, Mozilla Debugger.html and other tools compatible with the Chrome Debugging Protocol. Before you use this adapter you need to make sure you have the latest version of iTunes installed, as we need a few libraries provided by iTunes to talk to the iOS devices.

turbolinks-ios - Native iOS adapter for building hybrid apps with Turbolinks 5

  •    Swift

Build high-fidelity hybrid apps with native navigation and a single shared web view. Turbolinks for iOS provides the tooling to wrap your Turbolinks 5-enabled web app in a native iOS shell. It manages a single WKWebView instance across multiple view controllers, giving you native navigation UI with all the client-side performance benefits of Turbolinks. Turbolinks for iOS is written in Swift 4.0 and requires Xcode 9. It should also work with Swift 3.2 as well. It currently supports iOS 8 or higher, but we'll most likely drop iOS 8 support soon.

turbo-ios - iOS framework for making Turbo native apps

  •    Swift

Note: The Hotwire frameworks are presented in beta form. We're using them all in production with HEY, but expect that significant changes might be made in response to early feedback. Build high-fidelity hybrid apps with native navigation and a single shared web view. Turbo Native for iOS provides the tooling to wrap your Turbo 7-enabled web app in a native iOS shell. It manages a single WKWebView instance across multiple view controllers, giving you native navigation UI with all the client-side performance benefits of Turbo.

WKZombie - WKZombie is a Swift framework for iOS/OSX to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser

  •    Swift

WKZombie is an iOS/OSX web-browser without a graphical user interface. It was developed as an experiment in order to familiarize myself with using functional concepts written in Swift 4. It incorporates WebKit (WKWebView) for rendering and hpple (libxml2) for parsing the HTML content. In addition, it can take snapshots and has rudimentary support for parsing/decoding JSON elements. Chaining asynchronous actions makes the code compact and easy to use.

RealmVideo - An iOS app to watch Realm videos and slides at the same time on your phone.

  •    Swift

@realm is aware of the issue but there is no real workaround as you can see from this tweet. Until now. Realm Video uses a UIWebView to take advantage of the great Realm website with the slides being automatically in sync with the video. A Javascript function is used to locate the video element on the page and scroll to it. The HTML element that takes care of showing the slides is also located by finding its id. A MPMovieViewController object is presented as soon as the video is started and a UIView is added on top of it by accessing the window hierarchy. A function runs in the background every second and renders a screenshot of the current slide in the UIWebView. In this way, we keep the video and slides always in sync. The rendered image is then added to the floating UIView to be always visible to the user.

GAJavaScript - Library to simplify working with JavaScript and UIWebView.

  •    Objective-C

JavaScript is accessed from Cocoa Touch using UIWebView. GAJavaScript has the concept of a "script engine", which provides the primary interface to the JavaScript runtime inside the UIWebView. Essentially, the UIWebView is an implementation detail of this library, but you may want to manage the UIWebView instance used by the script engine. This class is the main interface to the library. It takes or creates a UIWebView and prepares it for use with the library. It implements UIWebViewDelegate so that it can load the library's JavaScript file when the WebView is loaded, and it implements support for calling Objective-C methods from JavaScript. It also adds methods to create new objects, either a simple "new Object" or using a constructor function. When you create a new object this way, it's lifetime is tied to the lifetime of the GAScriptObject that is returned, unless you assign the object as a property of another object.

MarkdownView - Markdown View for iOS.

  •    Swift

MarkdownView is a WKWebView based UI element, and internally use bootstrap, highlight.js, markdown-it. MarkdownView is available through CocoaPods or Carthage.

TiltedTabView - iOS control to replicate the tab switcher in Safari for iOS.

  •    Swift

This library aims to replicate the tab switcher in Safari on iOS. It handles both compact width (tilted) and regular width (grid) layouts. The main class in this library is the TiltedTabViewController. It is a subclass of UICollectionViewController, that contains a custom collection view and layout.

youtube-ios-player-helper - Helper library for iOS developers looking to add YouTube video playback in their applications via the iframe player in a UIWebView

  •    Objective-C

To run the example project; clone the repo, and run pod install from the Project directory first. For a simple tutorial see this Google Developers article - Using the YouTube Helper Library to embed YouTube videos in your iOS application.See the sample project for more advanced uses, including passing additional player parameters and working with callbacks via YTPlayerViewDelegate.

push - Push notifications for cordova (ios, android) browser (Chrome, Safari, Firefox)

  •    Javascript

Push notifications for cordova (ios, android) browser (Chrome, Safari, Firefox) - One unified api on client and server. We are using semantic-release following the AngularJS Commit Message Conventions - Following this pattern will result in better versioning, better changelog and shorter release cycle.

NJKWebViewProgress - UIWebView progress interface

  •    Objective-C

NJKWebViewProgress is a progress interface library for UIWebView. Currently, UIWebView doesn't have official progress interface. You can implement progress bar for your in-app browser using this module. NJKWebViewProgress doesn't use CocoaTouch's private methods. It's AppStore safe.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.