20
javascriptを Xcodeでテスト 第17回 yidev 2014/12/20 Retty 株式会社 櫻井 洋一郎

javascript を Xcode でテスト

Embed Size (px)

Citation preview

javascriptを Xcodeでテスト

第17回 yidev 2014/12/20

!Retty 株式会社 櫻井 洋一郎

自己紹介

• 櫻井 洋一郎(@saku2saku)

• iOSアプリ開発 兼 とんかつ担当

• Objective-C, PHP, Java, 等々

• 料理, 漫画, 等々

Rettyとは?

javascriptを Xcodeでテスト

• みなさん◯◯やってますか? • Rettyの現状 • JavascriptCore framework • XCTestでJavascriptCoreを使う

もくじ

https://github.com/saku/20141217YidevSample

みなさんWebView使ってますか?

• どこまでできる? • WebView <-> ネイティブ の双方向呼び出し

• レスポンスの悪さについて • fastclickを使うと軽減できる(実用化には一工夫必要)

みなさんTDDやってますか?

• モデルクラスとか • 自作ライブラリがあればそれも対象

Rettyの現状

• 3つの画面種類を定義 • サーバ側Web • いわゆるWebページを表示する

• ネイティブ側Web • ネイティブに持たせたHTML・JSから画面を描画

• ネイティブ

サーバ側Web ネイティブ側Web ネイティブ

アプリ技能

操作性

開発期間

不要 要

使ってる仕組み

• CSS • Sass (サーバとモジュールを共用)

• HTML・JS • Handlebars (JSのHTMLテンプレート) • gulp (ビルドツール)

[FYI] Xcodeでgulpを使うお話http://www.slideshare.net/ganbit1021/xcode-gulp

今回のお話のキッカケ

(́-`).oO( Javascriptもテスト ( できないかなー? ( Xcodeと合わせて

!

   \  __  /    _ (m) _ピコーン       |ミ|    /   `́  \      ('A`)  JavaScriptCore!  │     ノヽノヽ         くく

JavaScriptCore 基本編

•基本的なjavascript評価を行う !

1. JSContext を作成する 2. javascript のテキストをevalする 3. 結果を受け取る

デモ

JavaScriptCore 活用編

•他のライブラリを使ったjavascriptをテストしてみる

!

1. JSContext を作成する 2. 自作関数の入ったjsファイルのNSStringをevalする

3. 結果を確認する

デモ

JavaScriptCore 応用編

•自作のメソッドをテストしてみる !

1. JSContext を作成する 2. ライブラリのjsファイルをevalする 3. 自作関数の入ったjsファイルをevalする 4. 結果を確認する

デモ

JavaScriptCore 謎編

• 謎ですが jQuery を使ったコードの評価はうまくいかなかった • 熊谷さんのスライドにあった function でラップする方法を試してみたがそれもダメ

[FYI] JavaScriptCore.framework の普通な使い方http://www.slideshare.net/tomohirokumagai54/java-scriptcoreframework

• テストコード楽しい • WebViewを使うのもけっこう楽しい • javascriptのテストがXcodeで書ける • jsライブラリに依存しててもOK! • ただしjQuery テメーはダ(ry

まとめ

https://github.com/saku/20141217YidevSample