- ダウンロード商品電子版¥ 1,500
- 物販商品(自宅から発送)製本版発送までの日数:5日以内在庫なし¥ 1,500
— 全ての iOS/macOS アプリ開発者に贈る、 JavaScriptCore を自在に操るための決定版 — iOS アプリや macOS アプリの開発では、標準で “JavaScriptCore フレー ムワーク” という JavaScript 実行環境を利用できます。これを使うと、 JavaScript コードを文字列として実行するだけでなく、Swift ネイティブコードと JavaScript とを密接に連携して、インスタンスを介して互いのデー タにアクセスするなど、自由度の高いプログラミングが可能になります。 本書では、そんな JavaScriptCore フレームワークを Swift で扱う方法を 順を追って見ていきます。iOS アプリや macOS アプリでネイティブな JavaScript プログラミングを始めてみましょう。
対象読者
iOS アプリや macOS アプリを作っていてカスタムスクリプト環境を提供したい人や、ネイティブアプリを Web などからソースコードを読み込んでコントロールしたい人、ネイティブアプリの開発を JavaScript 言語でも行いたい人が対象になります。 JavaScriptCore を初歩から紹介した一冊で、Swift 言語でアプリを作ったことのある人であれば読める内容になっています。他にも JavaScriptCore を使っていると嵌まりがちな Swift 言語と JavaScript 言語の文化的違いによる癖や思いがけない(ように見える)動作の違いも詳しく紹介していますので、これまでに JavaScriptCore を雰囲気で使ってきた人にも有用な本に仕立ててあります。
得られる知識
JavaScriptCore の使い方を、最初の入り口からひととおり自由に Swift と連携して使えるようになります。また Swift 言語と JavaScript 言語の橋渡しで生じる癖を把握して、より自由に安定したコードを描けるようになれるはずです。
目次
第1章 JavaScriptCore 1.1 JavaScriptCore 1.2 JavaScriptCoreで出来ること 1.3 JavaScript 1.4 ECMAScript対応状況 1.5 SwiftでJavaScript始めてみませんか? 1.6 Playgroundでも試せる 第2章 基本的な使い方 2.1 実装の流れ 2.2 JavaScriptCoreを使えるようにする 2.3 コンテキストを生成する 2.4 スクリプトを実行する 2.5 スクリプトを実行した結果を取得する 2.6 変数の値を取得する 2.7 ここまでのまとめ 第3章 変数の扱い方 3.1 変数を表現する型 3.2 JSValue型から値を取得する 3.3 どの型に変換できるかを調べる 3.4 JavaScriptオブジェクトを操作する 3.5 JSValue型の値を比較する 3.6 そのほかの型の扱いについて 第4章 APIを定義する 4.1 用意されているAPI 4.2 APIの定義方法 4.3 変数をJavaScriptで定義する 4.4 変数をSwiftから提供する 4.5 関数をJavaScriptで定義する 4.6 関数をSwiftから取り込んで提供する 4.7 オブジェクトをJavaScriptで定義する 4.8 Swiftの型をJavaScriptに直接提供する 4.9 SwiftクラスをJavaScriptから生成する 第5章 変数を扱うときの注意 5.1 プリミティブ型 5.2 文字列への変換 5.3 真偽値の表現 5.4 真偽値への変換 5.5 桁あふれを伴う数値変換 5.6 数値オブジェクトへの変換 5.7 Double型への変換 5.8 ネイティブオブジェクトを取得する 5.9 配列型への変換 5.10 辞書型への変換 5.11 オブジェクトの扱いに注意 5.12 実行結果の取得失敗談 5.13 ネイティブ型に変換できなかったとき 5.14 nullを変換したとき 5.15 undefinedを変換したとき 第6章 座標や範囲を表す型の扱い 6.1 JavaScriptオブジェクトとの相互変換 6.2 Swiftネイティブオブジェクトでの型 6.3 JavaScriptオブジェクトでの型 6.4 JavaScript側でNSValue型を扱う方法も 6.5 JSValue型にラップして渡すのが自然 6.6 JavaScriptで作ってSwiftで取得するとき 6.7 JavaScriptでCGSize型を作る 第7章 例外処理を使う 7.1 例外を検出する 7.2 例外の詳細を取得する 7.3 標準的なエラーオブジェクト 7.4 JavaScriptから例外を送信する 7.5 Swiftから例外を送信する 第8章 SwiftでPromiseを使う 8.1 非同期処理 8.2 コールバック関数で非同期処理を行ってみる 8.3 Promiseオブジェクトを生成する 8.4 続きの処理を実行する 8.5 続けてさらに処理を行う 8.6 コードの見通しを良くするには 8.7 エラーが発生した場合に対処する 8.8 途中で値が決まらないことが確定したとき 8.9 必ず実行したい処理があるとき 第9章 コードを書きやすくする 9.1 JavaScriptをファイルから読み込む 9.2 CGSize型などを安全に扱う 9.3 キーを文字列リテラルで指定する 9.4 JSValueの比較をJavaScriptと同じにする 9.5 JSValueを大小比較する 9.6 添字構文でオブジェクトを設定する 9.7 JavaScriptコードをreturnで終わらせる 9.8 setTimeout 関数を使う 第10章 Promiseを使いやすくする 10.1 Promise クラスは用意しない 10.2 JSValue型に then メソッドを用意する 10.3 then メソッドでエラーを扱う 10.4 catch メソッドを用意する 10.5 finally メソッドを用意する 10.6 Promiseオブジェクトを作りやすくする
仕様
同人誌 / A5 / 174 ページ 想定環境 : Swift 5.2