いち早くiOS 9でWKWebViewを試せるCordova WKWebView Polyfill Plugin

やはり、iOS 9ではUIWebViewを使うのは現実的ではないらしく、一応Angular.jsの世界ではモンキーパッチが提供されているようですが、当方Angular.jsがブームになる前からのアプリを保守しているため使うことができず。。。

WKWebViewに移行するしかなさそうなのですが、鉄板ルートのCordova iOS 4.0の提供はまだもう数日?はかかりそう。
まだBeta版にも至っていない状況ですが、開発中のコードをGitHubから持ってきて試してみても、いまいちちゃんと動かない感じ

Cordova WKWebView Polyfill Pluginを試してみる

そんな中で見つけたのが、Cordova WKWebView Polyfill Plugin。

telerik-verified-plugins-wkwebview_092415_115854_PM

https://github.com/Telerik-Verified-Plugins/WKWebView

Polyfillとは、CSSの世界なんかでよく聞きますが、こういう意味。

古いブラウザーに欠けている部分、新しいブラウザーでも足りない機能の穴を埋めることを、ポリフィル (polyfill) という風に呼ばれています。

もともと、壁の穴を埋めるための有名な商品で Polyfilla (ポリフィラ) というのがあり、ブラウザの穴を埋めるという行為も名前からポリフィルという言葉を動詞として使ったということです。

http://keicode.com/script/what-is-polyfill.php

そんな語源があったのですね。

インストール


cordova plugin add @telerik/cordova-plugin-wkwebview
cordova prepare

インストールは簡単で、Cordovaの通常の形式でインストールできます。
プラグインをインストールするだけで、それ以外の作業は特に必要なく、iOS8以上ならWKWebView、それ未満ならUIWebViewが使用されるようになります。

インストールの際に、合わせてcordova-plugin-webserverが導入されます。

このwebserverプラグインがポイントで、例えばCordovaアプリのViewに相当するindex.htmlは、file://~ではなくて、http://localhost~でアクセスされます。そのため、CORS問題が回避できるのです。

WKWebViewを使ったからといって全て解決ではない

残念なことですが、WKWebViewを使ったからといって、iOS 8までで動作していたCordovaアプリが完全に動くようになるわけではありません。
UIWebViewとWKWebViewは完全に上位互換というわけではなく、仕様上の違いがありますし、現状ではそれ以外の問題が発生することもあります。

そういう意味では、Cordova WKWebView Polyfill PluginでWKWebViewでの一応の動作は確認できるけれども、Codova iOS 4.0の正式リリースも待つ必要があるのではないかと思います。

この記事を書いた人

井上 研一

経済産業省推進資格ITコーディネータ/ITエンジニア/ブロガー。
井上研一事務所代表、株式会社ビビンコ代表取締役、一般社団法人ITC-Pro東京理事。
北九州市出身、横浜市在住。 AIやIoTに強いITコーディネータとして活動中。著書に「初めてのWatson」、「ワトソンで体感する人工知能」など。セミナーや研修講師での登壇も多数。

この記事が気に入ったら
いいね!しよう

最新の情報をお届けします