4D v18 R4では、プロジェクトアプリケーションのサーバーコードの開発とデバッグが、これまで以上に簡単になりました。さっそく、その方法について見ていきましょう。
そのため、チーム内でプロジェクトアプリケーションの開発を管理する方法を紹介するブログポストを準備中です。その間に、サーバーコードの開発、微調整、デバッグの方法について見てみましょう。
この新しい動作は、ストアドプロシージャやサーバー上で実行されるメソッド(Webサーバーのメソッドやトリガー、特定の結果を返すコマンドなど)を開発するときに非常に便利です。
一般的なクライアント/サーバーの動作に関する注意点
クライアント/サーバーモードでプロジェクト・アプリケーションを開発する場合、クライアント側でコードやフォームを修正できないことにお気づきでしょう。その理由は、サーバーに接続する際、クライアントはすべてのプロジェクトファイル(つまり、接続時のサーバーコードのスナップショット)を含む1つの.4DZファイルをダウンロードするからです。
.4DZファイルは圧縮されているので、多くの利点があります:4D Serverから4D Remoteへの転送はより効率的で(より少ない帯域幅を使用)、コードの整合性が保たれます(例えば、メソッドコールと新しいメソッドパラメータ間の非同期がない)。
その結果、クライアント側でプロジェクトファイルを変更することはできません。
サーバーコードを開発・デバッグする新しい方法
時間を節約し、コードを修正するたびにサーバーアプリケーションを再起動する必要がないように、サーバー側のコードを改良してデバッグする機能を提供します(スタンドアロンモードの場合)。
今後、4Dサーバと同じコンピュータにある4D Remoteを接続すると、リモートの4Dはプロジェクトファイル(コード、フォーム、リソースなど)を修正することができるようになります。
どのように機能するのでしょうか?
4D Developerクライアントが同じコンピュータにある4Dサーバーに接続すると、.4DZファイルはサーバーからクライアントに転送されません。4D Remoteは、4Dシングルユーザークライアントと同じように、プロジェクトファイル(メソッド、フォーム、リソースなど)を管理します。プロジェクトファイルは、4Dサーバーと4Dリモートで共有されます。
このようにして、コードを修正し、オンザフライでテストすることができます。
サーバー側で変更したファイルを再読み込みしたい場合は、開発環境からアプリケーションモードに切り替え、4Dサーバーをフォアグラウンドに移動するか、4D Remoteのメニュー項目「File / Save all」(または新機能の RELOAD PROJECTコマンドを使用することもできます)。
クライアント側でメソッドを実行すると、自動的に“Save all ” アクションが実行され、その結果、サーバー側で変更したファイルが再ロードされることを覚えておいてください。
もし、この機能に関して質問があれば、4Dフォーラムで気軽に議論に参加してください。