アプリケーションビルド
4D にはプロジェクトパッケージ (ファイナルビルド) を作成するためのアプリケーションビルダーが統合されています。 このビルダーを使用すれば、コンパイルされた 4D アプリケーションの展開を簡易化することができます。 OS ごとに異な る特定の処理を自動で処理し、クライアント/サーバーアプリケーションの展開が容易になります。
アプリケーションビルダーでは以下のことを行えます:
- インタープリターコードを含まない、コンパイル済みストラクチャーまたはコンポーネントのビルド
- ダブルクリックで起動可能なスタンドアロンアプリケーションのビルド (4D のデータベースエンジンである 4D Volume Desktop を組み込んだ 4D アプリケーション)
- XML形式のプロジェクトファイル定義を用いて、同じコンパイル済みストラクチャーから異なるアプリケーションのビルド
- クライアント/サーバーアプリケーションのビルド
- クライアントとサーバーの自動更新機能を備えたクライアント/サーバーアプリケーションのビルド
- ビルド設定の保存 (設定保存 ボタン)
コンパイル済みアプリケーションは、読み取り専用 である .4dz files ファイルに基づきます。 コンパイル済みアプリケーションの場合、ソースファイルを変更するコマンドや関数 (
CREATE INDEX
やCREATE TABLE
(SQL)) は、デフォルトでは使用できないことに留意が必要です。 しかしながら、PackProject
XML キー (doc.4d.com 参照) を使用することで、ローカルな変更をサポートするアプリケーションをビルドすることも可能です。
概要
プロジェクトパッケージをビルドするには次の方法があります:
BUILD APPLICATION
コマンドを使う- アプリケーションビルド ダイアログを使う
また、ヘッドレスアプリケーションからでも、4Dプロジェクトのコンパイル、ビルド、署名をおこなうためのクラスを提供するコンポーネント、Build4D
をダウンロードして使用することができます。
アプリケーションビルド
このウィンドウを開くには 4D の デザインメニューから アプリケーションビルド... を選択します。
アプリケーションビルドウィンドウには複数のページがあり、タブを使用してページを移動できます:
ビルドをおこなう前にプロジェクトはコンパイルされていなければなりません。 まだコンパイルされていないプロジェクトでこのメニューコマンドを選択する、あるいはコンパイル後にコードが変更されていると、プロジェクトを (再) コンパイルしなければならない旨の警告ダイアログが表示されます。
buildApp.4DSettings
アプリケーションビルドに関わる各パラメーター設定は XML キーの形で、buildApp.4DSettings
という名称のアプリケーションプロジェクトファイルに保存されます。 この XML ファイルはプロジェクトの Settings
フォルダー に配置されます。
アプリケーションビルドダイアログが初めて表示されるときにはデフォルトパラメーターが使用されます。 ビルド ボタンや 設定保存 ボタンをクリックすると、このプロジェクトファイルの内容が更新されます。 同じデータベースについて内容の異なる複数の XML ファイルを定義し、BUILD APPLICATION コマンドでそれらを使い分けることができます。
また、XML キーを使用すれば、アプリケーションビルドダイアログには表示されない追加の設定をおこなうことができます。 詳細はドキュメント アプリケーションビルド設定ファイル を参照ください。
ログファイル
アプリケーションをビルドすると、4D はログファイル (BuildApp.log.xml) を生成して、プロジェクトの Logs フォルダーに保存します。 ログファイルにはビルド毎に以下の情報が書き込まれます:
- ターゲットビルドの開始と終了
- 生成されたファイルの名称とフルパス
- ビルドの日付と時刻
- 発生したエラー
- 署名の問題 (例: 署名されていないプラグイン)
アプリケーションを公証する場合などは、このファイルを確認することで、後の運用手順で時間を節約できることがあります。
Get 4D file(Build application log file)
コマンドを使って、ログファイルの場所を取得します。
アプリケーション名と保存先フォルダー
アプリケーション名 には生成するアプリケーションの名前を入力します。
保存先フォルダー にはビルドされるアプリケーションの保存先を指定します。 指定したフォルダーが存在しない場合は新たに作成します。
コンパイル済みストラクチャーページ
このページでは、標準のコンパイル済みストラクチャーファイルやコンパイル済みコンポーネントをビルドできます。
コンパイル済みストラクチャーをビルド
インタープリターコードを含まないアプリケーションをビルドします。
これにより、Compiled Database/<project name>
フォルダーの中に .4dz ファイルが作成されます。 たとえば、アプリケーション名を "MyProject" にした場合、4D は次のものを作成します:
<destination>/Compiled Database/MyProject/MyProject.4dz
.4dz ファイルは ZIP 圧縮されたプロジェクトフォルダーです (注: バイナリデータベースの場合に生成される .4DC ファイルと同義ではないことに注意が必要です)。 .4dz ファイルを開けるのは 4D Server、4D Volume ライセンス (組み込みアプリケーション)、および 4D です。 圧縮・最適化された .4dz ファイルによってプロジェクトパッケージの展開が容易になります。
.4dz ファイルを生成する際、4D はデフォルトで 標準的な zip形式を使用します。 このフォーマットの利点は、あらゆる解凍ツールで簡単に読み取ることができることです。 この標準形式を使用したくない場合は、値を
False
に設定したUseStandardZipFormat
XMLキーを buildApp.4DSettings ファイルに追加します (詳細については、アプリケーションビルド設定ファイル マニュアルを参照ください)。
関連するフォルダーを含む
このオプションを選択すると、プロジェクトに関連するフォルダーが、Build フォルダーの Components および Resources フォルダーにコピーされます。 これらのフォルダーの詳細については プロジェクトアーキテクチャーの説明 を参照ください。
コンポーネントをビルド
ストラクチャーからコンパイル済みコンポーネントをビルドします。
コンポーネント は特定の機能を実装した標準の 4D プロジェクトです。 ビルドされたコンポーネントを 他の4Dプロジェクト (ホストアプリケーションプロジェクト) にインストール すると、ホストプロジェクトはその機能を利用できるようになります。
アプリケーション名を MyComponent に指定した場合、4D は Components フォルダーを作成し、その中に MyComponent.4dbase フォルダーを生成します:
<destination>/Components/MyComponent.4dbase/MyComponent.4DZ
MyComponent.4dbase フォルダーには次のファイルが含まれます:
- MyComponent.4DZ ファイル
- Resources フォルダー: 関連リソースは自動的にこのフォルダーにコピーされます。 コンポーネントは、他のコンポーネントやプラグインを使用できないため、その他の "Components" や "Plugins" フォルダーはコピーされません。
_MyComponent.4dbase_フォルダーは、コンパイルされたコンポーネントのパッケージフォルダー です。
アプリケーションページ
このタブでは、スタンドアロンのシングルユーザー版アプリケーションをビルドします:
スタンドアロンアプリケーションをビルド
スタンドアロンアプリケーションをビルド オプションを選択して ビルド ボタンをクリックすると、スタンドアロンの (つまり、ダブルクリックで起動可能な) アプリケーションがアプリケーションプロジェクトをもとに作成されます。
ビルドには次のものが必要です:
- 4D Volume Desktop (4Dデータベースエンジン)
- 適切な ライセンス
Windows においては、.exe 拡張子のついた実行ファイルが作成されます。 macOS においては、ソフトウェアパッケージが作成されます。
この処理はコンパイル済みストラクチャーファイルと4D Volume Desktopを統合します。 4D Volume Desktop が提供する機能はライセンスページで指定するライセンス情報に基づきます。 この点についての詳細な情報は、4D の オンラインストア と、セールスドキュメンテーションを参照してください。
デフォルトのデータファイルを定義するこ とも、ユーザーに 独自のデータファイルを作成して使用 してもらうこともできます。
いくつかのランゲージコマンドを特定の順番で使用することによって、シングルユーザー向け組み込みアプリケーションのアップデートを自動化 することが可能です。
4D Volume Desktopの場所
ダブルクリックで起動されるアプリケーションをビルドするには、まず 4D Volume Desktop が格納されているフォルダーの場所を指定しなければなりません:
- Windows では: 4D Volume Desktop.4DE や 4D Volume Desktop.RSR、その他動作に必要なファイルやフォルダーを含むフォルダーを選択します。 これらは、選択されたフォルダー内で同じ階層に置かれている必要があります。
- macOS では: ソフトウェアパッケージとして 4D Volume Desktop が提供されているので、このパッケージを選択します。
4D Volume Desktop フォルダーを選択するには [...] ボタンをクリックします。 フォルダーを選択するダイアログが表示されたら、4D Volume Desktop フォルダー (Windows) またはパッケージ (macOS) を選択します。
フォルダーが選択されるとその完全パス名が表示され、そこに 4D Volume Desktop が含まれていればビルドボタンが有効になります。
4D Volume Desktop のバージョン番号は、4D Developer のバージョン番号と合致する必要があります。 たとえば、4D Developer の v18 を利用していれば、4D Volume Desktop v18 が必要です。
データリンクモードの基準
このオプションを使って、組み込みアプリケーションとローカルデータファイルとのリンクモードを選択します。 二種類のリンクモードから選択可能です:
-
アプリケーション名 (デフォルト) - このモードでは、4D アプリケーションはストラクチャーファイルに対応する、最後に開かれたデータファイルを開きます。 このモードではアプリケーションパッケージをディスク上で自由に移動させることができます。 アプリケーションを複製する場合を除いて、通常は組み込みアプリに対してこのモードが使用されるべきです。
-
アプリケーションパス - このモードでは、組み込み 4D アプリケーションは自身に紐づいている lastDataPath.xml ファイルを解析して、起動アプリのフルパスに合致する "executablePath" 属性を持つデータパスマップのエントリーを探し、 同エントリー内で "dataFilePath" 属性で定義されているデータファイルを開きます。 ない場合は、最後に開かれた データファイルを開きます (デフォルトモード)。
データリンクモードについての詳細は 最後に開かれたデータファイル を参照してください。
生成されるファイル
ビルド ボタンをクリックすると、4D は 保存先フォルダー に Final Application フォルダーを作成し、 その中に指定したアプリケーション名のサブフォルダーを作成します。
アプリケーション名に "MyProject"と指定した場合、MyProject サブフォルダー内には以下のファイルが置かれます:
- Windows
- MyProject.exe - 実行可能ファイル、そして MyProject.rsr (アプリケーションリソースファイル)
- 4D Extensions および Resources フォルダー、さまざまなライブラリ (DLL)、 Native Components フォルダー、SASL Plugins フォルダーなど、アプリケーション実行に必要なファイル
- Databaseフォルダー: Resources フォルダーと MyProject.4DZ ファイルが格納されています。 これらはプロジェクトのコンパイル済みストラクチャーおよびプロジェクトの Resources フォルダーです。 注: このフォルダーには、定義されていれば Default Data フォルダーも含まれています (最終アプリケーションでのデータファイルの管理を参照してください)。
- (オプション) データベースに含まれるコンポーネントやプラグインが配置された Components フォルダーおよび Plugins フォルダー。 この点に関する詳細は プラグイン&コンポーネントページ を参照してください。
- Licenses フォルダー - アプリケーションに統合されたライセンス番号の XML ファイルが含まれます。 この点に関する詳細は ライセンス&証明書ページ を参照してください。
- 4D Volume Desktop フォルダーに追加されたその他の項目 (あれば) (4D Volume Desktop フォルダーのカスタマイズ 参照)
実行ファイルの動作には、これらすべての項目が同じフォルダー内に必要です。
- macOS
- MyProject.app という名称のソフトウェアパッケージに、プラグインやコンポーネント、ライセンスなど必要な項目がすべて格納されます。 プラグインやコンポーネントの統合に関する詳細は プラグイン&コンポーネントページ を参照してください。 ライセンスの統合に関しては ライセンス&証明書ページ を参照してください。 注: macOSでは、4D ランゲージの Application file コマンドが返すのは、ソフトウェアパッケージ内の "Contents:macOS" フォルダー内にコピーされる ApplicationName ファイルのパス名です (ソフトウェアパッケージの "Contents:Resources" フォルダー内の .comp ファイルのパスではありません)。
4D Volume Desktop フォルダーのカスタマイズ
ダブルクリックで起動可能なアプリケーションをビルドする際、4D は 4D Volume Desktop フォルダーの内容を Final Application 内のアプリケーション名サブフォルダーにコピーします。 必要に応じて、このコピー元である 4D Volume Desktop フォルダーの内容をカスタマイズすることできます。 たとえば:
- 特定の言語バージョンに対応する 4D Volume Desktop をインストールする
- カスタムプラグインを Plugins フォルダーに置く
- Resources フォルダーの内容をカスタマイズする
macOS では、4D Volume Desktop はソフトウェアパッケージ形式で提供されています。 内容を変更するにはパッケージを開きます (アイコンを Control+クリック)。
Webファイルの場所
ダブルクリックで起動可能なアプリケーションを Webサーバーとして使用する場合、Web フォルダーやファイルは特定の場所にインストールする必要があります :
- cert.pem と key.pem ファイル (オプション): これらのファイルはTLS接続とデータ暗号化コマンドに使用されます。
- デフォルト Web ルートフォルダー
インストール場所:
- Windows: Final Application\MyProject\Database サブフォルダー内
- macOS: MyProject.app ソフトウェアパッケージと同階層
クライアント/サーバーページ
このページでは、クライアントの自動更新もサポートできるクロスプラットフォームなクライアント/サーバーアプリケーションをビルドするための設定をおこないます。