WebViewJavascriptBridgeはWebViewのJavaScript側からObjective-Cのメソッドを呼び出すモックアプリです。

iOSアプリで画面に柔軟性を持たせるためにWebViewでサーバサイドを読み込ませたりするのはよくあることです。しかしそうすると表現力が乏しくなってしまうのが欠点です。そこで使ってみたい手法がWebViewJavascriptBridgeです。WebViewのJavaScriptからObjective-Cのメソッドを呼び出すサンプルです。


iPhone側の表示です。ボタンを押します。


Xcodeのコンソールです。JavaScriptからメッセージを受け取ったとあります。


こちらがObjective-C側のコードです。メッセージを受け取って出力しているだけです。


こちらはJavaScript側のコードです。sendMessageでメッセージをObjective-Cへ出力しているのが分かります。

WebViewJavascriptBridgeはあくまでもサンプルなのでこのまま使うものではありませんが、TitaniumやPhoneGapを使うほどではないくらいだけどWebViewをうまくObjective-Cとつなげたいという時に便利そうですね。

WebViewJavascriptBridgeはObjective-C製、MIT Licenseのオープンソース・ソフトウェアです。

MOONGIFTはこう見る

TitaniumやPhoneGapは確かに便利なソフトウェアですが、iOSならではの細かい描画制御を行ったり、ゲームのような作り込みは苦手です。しかしWebViewを使えばコンテンツの変更をサーバサイドでできるようになるので使いたいというニーズは多いです。その際にはもちろんObjective-Cとも連携したいと思うものでしょう。

そんな時にこのWebViewJavascriptBridgeを参考に実装すればよりネイティブに近い動きを提供できるようになりそうです。WebViewからObjective-Cからしか呼び出せない機能を使いたいという時にも便利そうです。

marcuswestin/WebViewJavascriptBridge - GitHub