4D v19:クライアント/サーバーアプリケーション構築の進化形

Deeplからの自動翻訳

Macでは、アプリケーション署名が標準となり、Big Sur以降、署名のないアプリケーションを実行することもできなくなりました。過去に、Windowsサーバー上で動作し、Macクライアントからの接続を受け付けるクライアントサーバーアプリケーションを構築するための回避策を公開しました。4D v19のリリースに伴い、4Dでのアプリケーションビルドを更新し、このケースに対応できるようにしました。以下は、v19でシングルプラットフォームまたはクロスプラットフォームのアプリケーションを構築する方法です。

シングルプラットフォーム・アプリケーションの構築

もし、サーバーとクライアントが同じプラットフォームであれば、WindowsでもMacでも、アプリケーションの構築は非常に簡単です。

  1. アプリケーションのビルド]ウィンドウの[クライアント/サーバ]タブを開きます。
  2. Build server application(サーバアプリケーションをビルドする)」にチェックを入れ、4D Server フォルダ(Windows)またはアプリケーション(Mac)への適切なパスを指定します。
  3. Build clientapplicationにチェックを入れ、4D Volume Desktopフォルダ(Windowsの場合)またはアプリケーション(Macの場合)へ適切なパスを指定します。
  4. 古いクライアントを自動的にアップデートしたい場合は、「Allow automatic update of client applicationfor your platform」にチェックを入れることができます。その場合、現在のバージョン番号を増やすことが重要です。
  5. Licenses & Certificate]タブでライセンスと証明書が適切に設定されていることを確認し、[Build]をクリックしてアプリケーションを構築してください。

クライアントアプリケーションとサーバーアプリケーションは、データベースと同じフォルダにある[ベース名]_buildフォルダ内に見つかります。

クロスプラットフォームアプリケーションの構築

WindowsとMacの両方のクライアントを持つクロスプラットフォームのアプリケーションを構築する必要がある場合、サーバーがWindowsとMacのどちらで動作しているかによって手順が異なります。

Macの場合は、Windowsクライアントアプリケーションの自動更新を許可するをチェックし、Windows 4D Volume Desktopフォルダのパスを指定する必要があります。ビルドをクリックして、サーバとクライアントの両方をビルドします。

サーバーがWindowsで動作する場合、アプリケーションをMacで署名し、Silicon用にコンパイルする必要があるため、少し複雑になります。

  1. Mac では、すべてのプラットフォーム用にベースをコンパイルします。
  2. Build Application] ウィンドウの[Client/Server] タブで 、[Build client application] のみをチェックし、自動更新が必要な場合は [Allow automatic update of Macintosh client application] をチェックします。自動アップデートを使用する場合、ビルドによってMacクライアントアップデートが作成されます。Macクライアントアップデートは、Macクライアントアプリケーションの隣のUpgrade4DClientフォルダにあるupdate.mac.4darchiveという名前のファイルです。
  3. その後、Windowsで、Macでコンパイルしたデータベースを開き、手順に従って、シングルプラットフォームのアプリケーションをビルドしてください。Macクライアントをアップグレードする必要がある場合は、Macintoshクライアントアプリケーションの自動更新を許可するをチェックし、Macクライアントアップデートへのパスを指定します。これでクロスプラットフォームアプリケーションを構築することができます!

これらのv19の新機能は、アプリケーションの構築を効率化します。
もちろん、これらの変更について質問がある場合は、4Dフォーラムでお知らせください。

Nicolas Brachfogel
- プロダクトオーナー & シニアデベロッパー - Nicolas Brachfogelは、2017年にシニアデベロッパーとして4Dに入社しました(4D Serverとネットワークを担当)。Apple Siliconのリリースを管理するプロダクトオーナーとして、ユーザーストーリーを書いて機能仕様に落とし込み、機能実装が顧客のニーズを満たしているかを確認する役割を担っています。Institut Supérieur d'Informatique Appliquée (INSIA) を卒業した Nicolas は、2001年にソフトウェア開発者としてのキャリアをスタートさせました。JavaとC++で数年間コーディングした後、ゲーム会社のクライアント・サーバー開発を専門に担当。サーバー開発者/アーキテクトとして、多くのゲーム(Dofus Arena、Drakerz、Trivial Pursuit Go!)のサーバーアーキテクチャに携わり、成功を収めてきました。