Factor/デプロイメント

概要

Factor には、スタンドアロンアプリケーションのデプロイメントツールが付属しています。デプロイメントツールは、ボキャブラリをネイティブな実行可能ファイルにコンパイルし、コンパイルされたネイティブな実行可能ファイルは、ボキャブラリの MAIN: フックを実行します。デプロイされた実行可能ファイルは、インストールされている Factor に依存せず、ソースコードも一切外部に公開しないので、商用エンドユーザーアプリケーションに向いています。

デプロイメントツールに関するドキュメント

extra/ に含まれているデモの一部はデプロイすることができます。

  • "tetris" deploy
  • "hello-unicode" deploy
  • "terrain" deploy - OpenGL 2.x が必要

使われているデプロイの設定を参照するには、deploy の代わりに deploy-tool を使ってください。新しい UI ウィンドウが開きます。

その他の例については、サンプルプログラムを参照してください。

動作のしくみ

デプロイメントツールは次のように動作します。まず、フレッシュイメージをブートストラップし、このイメージにボキャブラリをロードし、ついでさまざまなヒューリスティックを適用してイメージを最小サイズにストリップします。

デプロイメントツールを実行したときに、場合によっては「ステージングイメージ (staging image)」が生成されることがあります。ステージングイメージは最小の Factor イメージで、ユーザーが作成したアプリケーションは含まれず、ライブラリの一部だけが含まれています。デプロイメントの設定が異なると、それに応じて複数の異なるステージングイメージが生成されます。ユーザーがデプロイするすべてのアプリケーションは、同一のステージングイメージのセットを共有します。このプロセスには、いくらか時間がかかることがあります。

作成したアプリケーションをデプロイしたら、ステージングイメージを手作業で削除しない限り、また、factor.sh スクリプトを実行して GIT リポジトリから Factor をアップデートしない限り、もう待たされることはありません。自分で GIT リポジトリから Factor をアップデートする場合は、ステージングイメージが古くなるおそれがあるので、ステージングイメージは必ず削除してください。

FFI を使用するアプリケーションのデプロイ

デプロイされたアプリケーションでは、外部リンクライブラリがホスト OS かアプリケーションフォルダに、Mac OS X では .app バンドルに存在している必要があります。Factor にはデフォルトで実行時ライブラリ libfactor が含まれています。

関連項目

This revision created on Wed, 19 Aug 2009 06:38:11 by slava