モジュール版Hyperloopとは、2年くらい前にAppcelerator社から打ち出された、JSからObj-CやJavaのコードを生成することでネイティブ開発との機能面でのギャップやパフォーマンスの飛躍的な向上を狙った野心的なHyperloopプロジェクトが軌道修正されて、既存の資産を活かしやすいモジュールとしてその一部の機能が利用可能になったものです。これにより、Titanium側でAPIを用意していない機能はこれまで中間層となるモジュールの仲介が必要だったのが、JavaScriptで記述するだけで直接Obj-C/Javaへのブリッジを用意することができるようになります。
Hyperloopを試すための資料が古いマニュアルと噂話とソースコードしかないのでここにメモしておきます。
モジュールの取得
マニュアルに記載されたリンクは死んでいる(!)のでこちらのサンプルプロジェクトから取得します。
https://github.com/appcelerator/hyperloop-examples
モジュールとプラグイン
チェックアウトしたサンプルプロジェクトからmodules/{iphone,android}/hyperloop
ディレクトリをコピーして自分のプロジェクトの同じくmodules/{iphone,android}/
以下に設置します。
それからplugins/hyperloop
も同じくプロジェクトのplugins
以下にコピーしましょう。
tiapp.xmlの設定
次にtiapp.xmlですが、現在のマニュアルは古いのでそのまま従わず、以下のようにします。
プラグイン
<plugins>
<plugin version="1.0">ti.alloy</plugin>
<plugin>hyperloop</plugin>
</plugins>
モジュール
<modules>
<module platform="commonjs">ti.cloud</module>
<module>hyperloop</module>
</modules>
SDK
<sdk-version>5.4.0.v20160406101605</sdk-version><!--5.4.x以上-->
その他
<property name="run-on-main-thread" type="bool">true</property><!--追加-->
<ios>
<use-jscore-framework>true</use-jscore-framework><!--追加-->
<enable-launch-screen-storyboard>true</enable-launch-screen-storyboard>
appc.js
マニュアルではオプションのような扱いですがこれがないとビルド出来ませんでした。
module.exports = {
hyperloop: {
ios: {
}
}
};
まだ何も使っていないのでこんな感じで空でも大丈夫です。
この時点でappc ti build -p ios
でシミュレータが起動すれば成功です。