こんにちは、Monacaチームの細井です。
現在、Monacaチームでは、現在に公開されている Cordova 5への対応の調査を行っています。
Cordova 5(Android Platform 4.x)で変更点の中でも注目なのは、Androidのハイパフォーマンス版で使用しているCrosswalk WebViewエンジンがCordovaプラグイン化されたことです。
従来は、CrosswalkエンジンがCorsswalk用のCordovaに組み込まれていたため、Cordovaのバージョンを安易に上げられないといった問題がありました。
プラグイン化したことにより、CordovaとCrosswalkのバージョンに依存関係がなくなり、アップデートが容易になりました。
本記事では、CordovaコマンドでCrosswalkプラグインを使用する手順を紹介します。
Crosswalk プラグイン
https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview
検証バージョン
Cordova: 5.2.0
Android Platform: 4.1.1
使ってみた
// 適当なサンプルプロジェクトを作成
cordova create XwalkTest
// Android Platformを追加
cordova platform add android
// Crosswalkプラグインを追加
cordova plugin add cordova-plugin-crosswalk-webview
// Androidアプリでビルド
cordova build android
以上。
ユーザエージェントでWebViewのバージョンを確認してみます。
alert(navigator.userAgent);
WebViewがCrosswalkになっています。
また、Crosswalkプラグインのバージョン1.3.0から、自由にCrosswalkのバージョンを指定してビルドすることができるようになりました。
※8月28日時点では、Cordova Plugins Registryのバージョンが1.2.0なので、gitからプラグインを追加しています。
以下のように、plugin add時にパラメータを指定することでバージョンを指定できます。
cordova plugin add https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview.git --variable XWALK_VERSION="org.xwalk:xwalk_core_library:14+"
(cordova plugin add cordova-plugin-crosswalk-webview --variable XWALK_VERSION="org.xwalk:xwalk_core_library:14+")
add後、config.xmlを確認すると、以下のプレファレンスが自動的に追加されています。
このプレファレンスがCrosswalkのバージョン(この場合14+)を指定しており、ビルド時に対象バージョンのCrosswalkエンジンを取得してきます。
<preference name="xwalkVersion" value="org.xwalk:xwalk_core_library:14+" />
このバージョンは、plugin addした後でも自由に変更することができます。
また、以下のようにvalueに「_beta」を付けることで、BetaバージョンのCrosswalkエンジンを取得することもできます。
<preference name="xwalkVersion" value="org.xwalk:xwalk_core_library_beta:15+" />
おわりに
便利になったCrosswalkエンジン。Monacaで今後どのように提供させていただくか検討中ですので、しばしお待ちくださいませ!