Build4Dツールでクライアント/サーバーアプリケーションを作成する

Build4Dコンポーネントの最新版が GitHub で公開されました。以前のブログでは、コンパイル済みのプロジェクトやコンポーネント、そしてスタンドアロンアプリケーションの可能性について説明しました。

今回は、クライアント/サーバーアプリケーション用のスクリプトを作成し、継続的インテグレーション・ツールと簡単に統合できるようになりました。

その方法を紹介します。

Build4Dコンポーネント

なにができるのか?

Build4D はクライアント/サーバーアプリケーションを生成するために 2つのクラスを提供します: クライアントクラスとサーバークラスです。そのため、異なるパラメーターを使えば、あらゆる組み合わせが可能です。

生成できるのは:

  • macOS および/または Windows のクライアント
  • macOS および/または Windows の自動アップデート用クライアントアーカイブ
  • macOS および/または Windows のサーバー

例題

以下は、統合されたクライアントを持つ Windowsサーバーを作成する方法の簡単な例です:

ステップ1: クライアントとクライアントアーカイブの作成

以下は、クライアントアプリケーションとクライアントアーカイブの作成方法の簡単な例です。

var $build : cs.Build4D.Client
var $settings; $archive : Object
var $success : Boolean

$settings:={}

// 外部の .4DProjectファイルを定義します
$settings.projectFile:=Folder(fk documents folder).file("Contact/Project/Contact.4DProject")

// 4D Volume Desktop のパスを定義します
$settings.sourceAppFolder:=Folder(fk documents folder).folder("4D v20.1/4D Volume Desktop.app")
// または
$settings.sourceAppFolder:=Folder(fk documents folder).folder("4D v20.1/4D Volume Desktop")

// アプリケーションを設定します
$settings.buildName:="myApp"
$settings.destinationFolder:="Test/Client/"

// アプリケーションアイコンを追加します
$settings.iconPath:="/RESOURCES/myIcon.icns"
// または
$settings.iconPath:="/RESOURCES/myIcon.ico"

// アプリケーションの情報を追加します
$settings.versioning:={}
$settings.versioning.version:="version"
$settings.versioning.copyright:="copyright"
$settings.versioning.companyName:="companyName"

// macOS アプリケーションの場合は署名します
$settings.signApplication:={}
$settings.signApplication.macSignature:=True
$settings.signApplication.macCertificate:="xxxxxx" // キーチェーンの署名番号
// クライアントアプリケーションを生成します
$build:=cs.Build4D.Client.new($settings)
$success:=$build.build()

// クライアントアーカイブを生成します
$archive:=$build.buildArchive()

ステップ2: クライアントを統合したサーバーの作成

上の例題のようにクライアントアーカイブを作成した後、サーバーアプリケーションを作成する際に、macOSClientArchive属性と winClientArchive属性を使用して、すでに作成したクライアントアーカイブへのパスを渡すことができます。

以下は、クライアントアーカイブを持つサーバーアプリケーションを作成する例です。

var $build : cs.Build4D.Server
var $settings : Object
var $success : Boolean

$settings:={}

// 外部の .4DProjectファイルを定義します
$settings.projectFile:=Folder(fk documents folder).file("Contact/Project/Contact.4DProject")

// アプリケーションを設定します
$settings.buildName:="myApp"
$settings.destinationFolder:="Test/Server/"

// 4D Server のパスを定義します
$settings.sourceAppFolder:=Folder(fk documents folder).folder("4D v20.0/4D Server.app")
// または
$settings.sourceAppFolder:=Folder(fk documents folder).folder("4D v20.0/4D Server")

// アプリケーションアイコンを追加します
$settings.iconPath:="/RESOURCES/myIcon.icns"
// または
$settings.iconPath:="/RESOURCES/myIcon.ico"

// アプリケーションの情報を追加します
$settings.versioning:={}
$settings.versioning.version:="version"
$settings.versioning.copyright:="copyright"
$settings.versioning.companyName:="companyName"

// クライアントアーカイブを追加します
$settings.macOSClientArchive:="...macOS Archive のパス..."
$settings.windowsClientArchive:="...win Archive のパス..."

// OEMパートナーの運用ライセンスファイルを生成します
$settings.license:=Folder(fk licenses folder).file("XXXXX.license4D")
$settings.xmlKeyLicense:=Folder(fk licenses folder).file("XXXXX.license4D")

// macOS アプリケーションの場合は署名します
$settings.signApplication:={}
$settings.signApplication.macSignature:=True
$settings.signApplication.macCertificate:="xxxxxx"
// キーチェーンの署名番号
// ビルドを開始します
$build:=cs.Build4D.Server.new($settings)
$success:=$build.build()

次は…

この新しい可能性についての更なる情報については、ドキュメントを参照ください!

Vanessa Talbot
- プロダクトオーナー - Vanessa Talbotは、2014年6月に4Dプログラムチームに参加しました。プロダクトオーナーとして、彼女はユーザーストーリー(ユーザーが期待する新機能とその使用法)を書き、それを具体的な機能仕様に変換する役割を担っています。また彼女の役割は、実装された機能が顧客のニーズを満たしているかどうかを確認することでもあります。入社以来、4Dにおける主要機能の定義に関わってきました。プリエンプティブ/マルチスレッドの新機能の大部分と、非常に複雑なテーマである組み込みアプリケーションの新アーキテクチャに取り組んできました。VanessaはTelecom Saint-Etienneで学位を取得後、Criminal Research Institute でオーディオビジュアル部門の開発者としてキャリアをスタートさせました。また、メディアや医療の分野でも、技術サポートやプロダクションの分野で働いてきました。