APIが提供する範囲以上のことをネイティブのコードを使って実現したい場合に、それらの機能をモジュールとして追加して使うことができます。モジュールの種類Titaniumモジュールには大きく分けて以下の2つの種類があります。1ネイティブモジュールネイティブモジュールは、Titaniumの提供範囲にない機能をネイティブで実装して補う場合に使用します。ネイティブコードを使用するため、開発言語はiOSではObjective-C、AndroidではJavaとなります。2JavaScriptモジュールJavaScriptを使って作るモジュールです。ネイティブモジュールと異なり、OSを選ばず使うことができます。Titaniumの提供する範囲以上の機能を実現することはできません。モジュールの入手方法モジュールの入手方法は、主に以下の3つになります。1購入する(マーケットプレイス)Titaniumを開発しているAppcelerator社はモジュールを売買するためのマーケットプレイスを展開しています。取り扱う種類もAppcelerator公式のもの・サードパーティのもの、有料・無料のものと様々です。2他の開発者が作ったものを使う有志の開発者が、自分の作成したモジュールをgitHubなどで公開するといった動きも近年活発になっているため、ライセンスを遵守したうえで公開されているモジュールを使わせてもらうことも可能です。3自作するマーケットプレイスやGitHubで目的の機能のモジュールを見つけられなかった場合、モジュールを自作することができます。詳しい作り方については後述しますが、特別なライセンスを必要とせず、通常の開発環境で作ることができます。購入できるモジュールについてここでは購入できるモジュールについて実際に紹介しながら、プロジェクトへの適用までの流れを記載します。モジュールの紹介マーケットプレイスのモジュールを幾つか紹介します。無料PayPalを使ったアプリ内決済機能を提供するAirprintサードパーティ無料iOSデバイスからAirPrintを可能にするPassBookサードパーティ$10iOS6の新機能「PassBook」を使えるようにする購入したモジュールの使い方ここでは上表1段目のpaintモジュールを例に、実際にモジュールをプロジェクトに組み込む方法について説明します。1モジュールを入手・配置モジュールは、Appceleratorのマーケットプレイスから入手することができます。Support/Titanium/modules(※環境によって変化する場合あり)の配下に配置します。2プロジェクトに組み込むTitaniumStudioでプロジェクトを作り、tiapp.xmlを開きます。Modules一覧で「ti.paint」を追加すると、プロジェクト内で使うことができるようになります。moduleを使って、ホワイトボードを提供するためのサンプルコードが以下になります。5});win.add(paintView);win.open();実際の画面は以下のようになります。このサンプルは単純に赤いペンでお絵かきをするだけのものですが、他の機能についてはモジュール内のexampleでより詳しいサンプルを見ることができますので、是非お試しください。モジュールを自作する次に、自分でモジュールを作る方法について記載します。モジュールは、先述の通りネイティブモジュールとJavaScriptのモジュールに分けることができます。ここでは、Objective-Cのネイティブモジュールの作り方と、JavaScriptモジュールの作り方について説明します。Studioから作ることができます。今回は、沢山の用途があるモジュールの中でも、カスタムViewを返すようなモジュールの作り方をご紹介します。Projectを選び、必要事項を入力します。SampleDev1」にしています。プロジェクトが作られると、xcodeプロジェクトが自動で生成されます。生成されたプロジェクトをxCodeで開くと、Classesフォルダの下にいくつかファイルが生成されているのが分かります。決まり事として、ここで自動的に作られるこれらのクラスには、接頭辞としてモジュールIDのドットを抜いてキャメル記法にしたものが付きます。SampleDev1」になります。3カスタムViewを作るTitaniumにカスタムViewを渡してやるためには、TiUIViewとTiUIViewProxyを継承したクラスを作る必要があります。TiUIViewは画面の表示や振る舞いの制御、TiUIViewProxyはJavaScriptとネイティブコードのバインディングを行ないます。TiUiView作成時には「接頭辞+View」、TiUiViewProxy作成時には「接頭辞+ViewProxy」とクラス名を付けます。今回、下のような画面を出すために以下の様なコードを書きました。bringSubviewToFront:label];}モジュールをインポートしたプロジェクト側には、以下のようなコードを記述します。SampleDev1.createView();win.add(view);win.open();4実際に動かす作ったモジュールを動かしてみましょう。runと入力すると、iOSシミュレータで実装内容を確認することができます。この場合ですと、以下の様な画面が出力されます。Moduleを選択し、出力します。zipファイルが生成されるので、あとは購入したモジュールと同様の手順を行います。JavaScriptモジュールの作り方JavaScriptモジュールは名前の通りJavaScriptで作るモジュールで、TitaniumのAPIを利用することができます。ここでは、ネイティブモジュール同様にカスタムViewを返すようなJavaScriptモジュールを作ります。1プロジェクトを作るプロジェクトの作り方自体はネイティブモジュールの時と変わりありません。JavaScriptのコードを追加するには、生成されたプロジェクトファイル内のassetsフォルダの下にモジュールID+.jsという名前のJSファイルを作る必要があります。今回はモジュールIDを「jp.co.dnp.SampleJS」にしたので、JSファイル名は「jp.co.dnp.SampleJS.js」となります。2カスタムViewを作る1で作ったjsファイルに、以下の様なコードを記載します。ご覧のとおり、中身のJavaScriptはTitaniumAPIを使って自由に記述することができます。view;};モジュールをインポートしたプロジェクト側には、以下のようなコードを記述します。SampleJS.createView();win.add(view);win.open();3実際に動かす~パブリッシュ動かし方やパブリッシュもネイティブと同様の手順で行います。実行すると、以下のような画面が描画されます。まとめ今回は、Titaniumのモジュールについて種類や入手方法、作り方などをご紹介しました。Titaniumのモジュール追加は、他のクロスプラットフォームツールにはない魅力の一つだと思いますので、ぜひチャレンジしてみてください。サイトのご利用にあたって。