4D 21 R4の新機能

New in4D 21 R4

Network

ネットワーク

ネットワークの一時的な切断時も、クライアント/サーバー間の処理を維持

ネットワークが短時間途切れても、作業が失われることはなく、復旧可能な一時停止状態になります。

実際の運用環境では、スイッチ、ルーター、ファイアウォール、VPNゲートウェイ、ケーブルの再接続、モバイル通信のハンドオーバーなどにより、4D Clientと4D Server間の通信が一時的に途切れることがあります。QUICトランスポートレイヤーを基盤とする4Dは、設定されたQUICセッションタイムアウトの期間中、通信不能となったクライアントセッションを維持し、通信が復旧するまでの接続時間を確保します。

接続がタイムアウト前に復旧すれば、ユーザーはセッションを継続できます。サーバーに依存するウィンドウには通信不能状態であることが明確に表示されますが、ローカルウィンドウはそのまま使用可能な状態を維持でき、影響を受けたウィンドウは復旧後にもとの状態へ戻ります。管理者は管理ウィンドウやSession.info.unreachableSinceを通じて状況を把握でき、アプリケーション側に追加のコードを記述することなく、クライアント/サーバー構成の耐障害性を大幅に向上させることができます。

QUICセッションの耐障害性について詳細を見る

AI Integration

AI 統合

4DフォームでローカルAIライティング機能を利用可能に

AIサービスの契約、追加のインストール、支払い手続き、外部サービスの設定などを行うことなく、AIによるライティング支援機能を利用できるようになります。

ユーザーの環境がApple Writing ToolsおよびApple Intelligenceに対応している場合、OSがライティング支援機能を操作します。これにより、複数行のテキスト入力エリアや4D Write Proエリアなど、4Dフォーム内のテキストエリアで直接この機能が利用可能になります。

ユーザーはアプリケーションを離れることなく、ビジネス文書の校正、書き換え、要約、トーン(文体)の調整、要点の抽出などを行えます。プロパティリストのWritingToolsプロパティやWritingTools標準アクションを使用することで、ネイティブな操作感で機能を利用できます。

ローカルAIライティングツールの詳細を見る

4D Language

4Dランゲージ

適切なタイミングでクリーンアップ処理を実行する

実行の予測可能性を高める第一歩は、あらゆるエグジットパスに対応した完了処理を実装することです。

新しいdeferコマンドを使用すると、メソッドやファンクションの終了時(正常終了、returnによる終了、エラー発生時の停止など、どのような形であれ)に、クリーンアップ、診断、状態の復元、エラー処理、外部サービスとの接続解除といった処理を実行できるようになります。

遅延実行される式はLIFO(後入れ先出し)の順序で実行されるため、プロジェクトが拡大しても、アプリケーションのロジックをクリアに保ち、保守性を高め、信頼性を向上させることができます。

deferについて詳細を見る

HTTP Server

HTTPサーバー

RESTサーバーリソースの保護

接続するシステムが増加するにつれ、信頼性の高いRESTサービスには、リソース使用量を適切に制御する仕組みが求められます。

RESTサーバーのクォータ(割り当て)管理機能により、メモリ上に保持されるエンティティセットに対して、セッション単位での制御が可能になります。Session.quotasや4D.QuotaManagerを使用することで、Webアプリケーション、外部システム、4D Qodly Pro、モバイルクライアント、あるいはMCPベースのAIツールなどに対して公開されるRESTセッションに対して、より明確な制限を定義できます。

これにより、セーバーリソースの管理が容易になり、RESTワークフローの応答性が維持されるとともに、意図しない過負荷に対するアプリケーションの保護機能も強化されます。

RESTサーバークォート管理機能の詳細を見る

Server Management

サーバー管理

すべてのアクティブなセッションをより鮮明に把握

サーバーの稼働状況を明確に把握することが、迅速なサポートの第一歩です。

4D Serverの管理ウィンドウでは、デスクトップクライアント、Webセッション、RESTアクセス、SOAP呼び出しがSessionsタブに統合されて表示されます。管理者は、接続ユーザー、アクセスの発生もと、セッションの挙動、および実行コンテキストを即座に把握できます。

IPアドレス、ユーザーエージェント、権限、マシン名、OSセッション名、使用権限などの詳細情報により、異常なアクティビティの検知からRESTの利用状況、ライセンスの消費の確認に至るまで、より具体的かつ的確な監視・対応が可能になります。

セッションの可視化の詳細を見る

4D Write Pro

4D Write Pro

4D Write Proのインターフェイス上で、多階層リストのスタイルシートを直接管理 

構造化されたドキュメントの作成、保守、配信がより容易になります。

ツールバーやサイドバーから、多階層リストのスタイルシートを4D Write Proのインターフェイス上で直接利用できるようになりました。ユーザーはテンプレートの適用、レベルの調整、番号付け形式の微調整を行うことができ、コンテンツの変更に合わせて階層の一貫性を保つことが可能です。

技術マニュアル、契約書、レポート、トレーンング資料、議事録などにおいて、文書構造の管理が編集作業の一部としてスムーズに行えます。また、multiLevelStyles.jsonを通じてテンプレートをカスタマイズできるため、PDF、HTML、SVG、DOCX形式への書き出し時にもドキュメントの一貫性を維持できます。

階層スタイルシートについて詳細を見る

4D NetKit and Mailing

4D NetKitとメーリング

メールやカレンダーの変更への対応

時間の制約があるワークフローを、チームがすでに利用しているツールと連携させたまま運用できます。

4D NetKitは、Microsoft 365やGoogle Workspaceにおける変更通知機能を提供します。これにより、メールやカレンダーのイベントが作成・変更・削除された際に、アプリケーションが即座に反応できるようになります。顧客へのフォローアップ、スケジューリング、承認プロセス、共有インボックス、アクティビティダッシュボードなどの情報を、手動での更新を待つことなく常に最新の状態に保つことが可能です。

Office365.mail.notifier、 Office365.calendar.notifier、Google.mail.notifier、Google.calendar.notifierのいずれにおいてもonCreate、onModify、 onDeleteといったコールバックを用いた共通の通知の仕組みが利用できます。アプリケーションは、利用可能な環境ではリアルタイムのwebhookを活用し、よりシンプルな導入が求められる場合にはタイマーベースの監視を行うといった運用が可能です。

メールとカレンダーの通知について詳細を見る

4D Qodly Pro

4D Qodly Pro

Webフォーム編集の精度を向上

フォームの調整が迅速化することで、ビジネス用インターフェイスをより早くユーザーに提供できるようになります。

4D Qodly Proエディターは、ナビゲーション、イベントレポート、ダイアログ、コンポーネント間の連携機能を強化しました。開発者はEvent ReportとPage Editor間をスムーズに移動できる他、フィルター設定を維持したままの作業、関連コンポーネントの迅速な選択、そしてより明確な名称変更操作が可能になります。

ラジオボタンやセレクト入力コンポーネントにおけるイベント対応の拡充に加え、OnChangeイベントへのデバウンス (debounce)およびスロットル (throttle)設定の追加により、複雑なwebフォームであっても、編集時の無駄な手順を省きつつ、より精密な動作を実現できます。

4D Qodly Proの詳細を見る

Platform Updates

プラットフォームのアップデート

UI、セキュリティおよびランタイムの基盤を強化

アプリケーションを長期にわたり安心して運用するには、つなに最新の状態に保たれるプラットフォーム層が不可欠です。

4D Qodly Proでは、一貫性のあるUI構築を実現するため、デザインシステムのコンポーネント基盤がより標準化されました。コアコンポーネントは、OpenSSL 4.0、BoringSSL、Ngtcp2 1.22.1、Libuv 1.52.1へと更新され、QUIC、WebSocket、ブロードキャスト、セキュア接続、HTTPS、およびクライアント/サーバーroadcast,、 間通信をサポートします。

Window環境においては、Windows App SDK 2.0.1がWinUI基盤(WinUIを組み込むか否かに関わらずアプリケション構築に使用される基盤)をサポートします。これにより、アプリケーションを常に最新化つ一貫性のある状態に保ち、長期的な保守性を向上させることが可能になります。

プラットフォームのアップデートの詳細を見る