4D 20 R7での新機能

Qodly Studio for 4D


4D Server からのダイレクトなアクセスでテストとデバッグが容易に

4D Developer Edition へと完全に組み込まれたQodly Studio for 4D は、Web ページであなたのアプリケーションを改善させます。

4D 20 R7 のリリースでは、4D Server からQodly Studio for 4D へと直接アクセスできるようになりました。これによりWeb アプリケーションのデバッグとテストが容易になります。

まずは、プロジェクトのインタープリターモードにおいて”ウィンドウ”メニューからQodly Studio for 4D を開きます。新しい”Qodly アプリをプレビュー”オプションを選択すると変更のリアルタイムでの視覚化が有効化されます。

またQodly Studio for 4D にデバッガを有効化することもできますが、一度に有効化できるデバッガは1つだけと言う点に注意してください。

4D Classes

OutgoingMessageクラス

4D 20 R7 ではOutgoingMessage クラスが導入され、これを使用することでWeb アプリケーションにおけるファイルやバイナリデータなどのカスタムコンテンツをどのようにデベロッパーが届けるかを単純化することができます。このクラスを使用するとHTTP ヘッダー、本文のコンテンツ、そしてステータスコードなどを設定することができ、レスポンスを完全にコントロールすることができるようになります。新しい onHTTPGet キーワードを使用すれば、関数をブラウザのGET リクエスト経由で呼び出すことができるようになり、これによりユーザーがブラウザを通してPDF や画像のようなコンテンツに直接アクセスするのを容易にします。

コンパイラ

直接型指定で変数宣言をシンプルに

4D 20 R7 での新しい直接型指定機能を使用すると、“Compiler”メソッドを不要にすることで変数宣言をシンプルにします。

この変更によってデベロッパーはプロセス変数とインタープロセス変数をコード内で直接宣言できるようになり、編成とカプセル化を改善させます。型の類推に頼るのではなく(型の類推は遅いコンパイルやエラーを引き起こす可能性があります)、型指定がされていない変数に遭遇するとコンパイラは停止し、効率化を犠牲にすることなく型の安全性を確認します。直接型指定は新規プロジェクトではデフォルトで有効化されており、また既存のプロジェクトにおいてもコンパイラ設定のトグルスイッチを入れるだけで、スムーズな移行を実現できます。これは4D デベロッパーにとって柔軟性とコントロール性の観点から大きな進歩といえます。

4D Write Pro

新しいセクション関数を使用してドキュメント管理を向上

4D 20 R7 では目覚ましい改善により、4D Write Pro のセクションとサブセクションの管理が容易となりました。

新しいWP DELETE SECTION コマンドを使用すると、インデックスのシフトや予期せぬ統合などを引き起こすことなくセクションのコンテンツとプロパティを完全に削除することができ、これによりドキュメント内に少なくとも1つのセクションが残ることが保証されます。

これに加え、削除のための標準アクションを使用するとユーザーに確認を問うダイアログが表示され、また一度に1つのセクションを削除することもできます。

WP DELETE SUBSECTION コマンドを使用すると、ヘッダーやアンカーされた画像やテキストボックスを含めて、割り当てられた全ての属性を削除します。更新されたWP RESET ATTRIBUTES コマンドを使用すると、セクションとサブセクションに対して全ての属性を同時に削除することができ、その結果それらは継承されたプロパティへと戻されます。

最後に、新しいツールバーとサイドバーの項目にはセクションの削除や属性のリセットのための、コンテンツを反映したアクションが提供され、これによって総合的なドキュメント管理とユーザーコントロールが改善されています。

非表示の表の境界線の一時的な表示状態

4D 20 R7 では、visibleTableBorders プロパティを使用することで4D Write Pro の表を扱うことがより簡単になりました。これを使用することで表の非表示の内部境界線・外部境界線を破線として表示させることができます。

この機能を使用することで最終的なドキュメントに影響することなく、特に併合されたセルが絡むレイアウトやデータ入力を管理するのが容易になります。

このプロパティは便利な用途のために、ツールバーとサイドバーからもアクセスすることができます。

リストボックス

時間型のカラムとフッターに対して”Nullの場合は空白”プロパティを導入

4D 20 R7 では、長きにわたって制約となってきた問題に対処すべく、リストボックスの”時間”型のカラムとフッターに対して”Nullの場合は空白”プロパティが利用できるようになりました。

これにより表示に関する振る舞いを、表示テーマあるいはプログラミングによって簡単に定義できるようになりました。この改善により、シンプルなチェックボックスを使用するにしてもコード行を使用していても、よりクリアで直感的な結果が得られるようになります。

シングルトン

セッションシングルトン

4D 20 R7 ではセッションシングルトンが導入されます。これを使用することで、個々のセッション内においてそのユーザーに関連したデータを管理できる一方、それらのデータをユーザー間で隔離させることができます。Web およびクライアントサーバー環境において理想的なセッションシングルトンは、複数のプロセスを行き交うユーザーリクエストをスムーズに管理することを確約する上、パーソナライズされたショッピングカートや他のセッションベースのデータ管理タスクなどのユースケースを単純化させることができます。

コンポーネントマネージャー

ローカルコンポーネントの追加と削除

4D 20 R7 では、改善されたプロジェクト依存関係インターフェースを使うことによってローカルのコンポーネントを管理するのがより簡単になりました。このインターフェースを使用すると、たったの数クリックでコンポーネントを追加したり削除したりすることができるようになります。

‘dependencies.json’ ファイルには、一貫性のためにプロジェクトの依存関係が集約されている一方、‘environment4d.json’ ファイルはカスタマイズされたコンポーネントパスを可能にします。コンポーネントの追加は分かりやすく、削除の場合にはミスを防ぐために確認が表示されます。

これらの変更を適用するためには再起動が必要で、これにはガイド用の通知が表示されます。この改善によって4D の開発エクスペリエンスは単純化され、既存のコードとコンポーネントへすぐに簡単にアクセスできる他、将来的にはGitHub 上のコンポーネントのコードとの統合によってより管理が改善される予定です。

管理

プロセスとセンション管理を最適化

4D アプリケーションの最適化にとって、プロセスとセッションの管理は不可欠です。4D 20 R7 では、これらの部分を単純化し、コードのパフォーマンスをブーストする改善がなされました。

この新機能には以下のものが含まれます:

    • プロセスのプロパティの操作をより簡単にするオブジェクトを返すProcess info コマンド
    • セッションID を介してセッション情報へと直接アクセスすることができるSession info コマンド
    • ID からプロセス番号を取得することができる、アップデートされたProcess number コマンド
    • プロセスがいつ作成されたかを追跡するために追加されたcreationDateTime プロパティ
    • そして、 Process activity コマンドはより効率的にセッションごとに結果をフィルターできるように改善され、これによって特定のセッションにリンクしたプロセスだけを容易に取得できるようになりました。

IMAP API

複数のメールボックスに対して同時に未読メール数を取得

4D 20 R7 では、 IMAPTransporter.getBoxList() 関数は未読メール数とメールボックスプロパティを同時に取得するようになり、これによってレスポンスタイムが向上しました。

“withBoxInfo” 引数を使用することで、複数のメールボックスのメール数を1度の呼び出しで取得できます。メールボックスの指定に対しては、そのメールボックスの名前をコレクションに渡すだけです。この改善によりユーザーは常に未読メール数を見ることができ、さらにこの変更は4D Netikit のGmail API に対して適用されます。

セキュリティ

クライアントサーバー通信における改善された証明書の認証評価

4D 20 R7 では、証明書の認証評価は、クライアントがサーバーの証明書を信頼された認証局(CA)に対して検証することを許可することで、クライアントサーバー通信のセキュリティを向上させます。

この機能は中間者攻撃(Man-in-the-middle attack/MiTM 攻撃)を防ぐのに役立ち、サーバーの身元が認証されていることを保証します。

これを実装するためには、デベロッパーはbuildSettings.xml ファイルに2つの値を追加する必要があります: 有効なCA 署名を格納しているファイルの場所と、サーバーのドメイン名です。

これによってクライアントはサーバーの証明書が有効なCA から発行されていることと想定されるドメインと合致することを確認することができます。柔軟性のために、複数のドメイン名の一覧を使用することもできます。

ユーザーインターフェース

全てのウィンドウタイプに対してカスタムのアイコンを

SET WINDOW DOCUMENT ICON コマンドを使用すると、それぞれのウィンドウタイプに対してカスタムのアイコンを定義することができます。これによってユーザーナビゲーションとユーザーエクスペリエンスを向上させることができます。コマンドシンタックスを使用することで、ウィンドウに対してアイコンまたはドキュメントを設定することができ、これによってインターフェースは見た目にもより魅力的になります。アイコンはウィンドウとウィンドウタスクバーに表示され、視覚的に分かりやすくします。この機能はまたドキュメントにアイコンを割り当てることもサポートし、さらにカスタマイズのオプションを提供します。

4D View Pro

データ操作のための新しいユーザーフレンドリーな機能

SpreadJS の最新のアップデートにより、データ操作と視覚化を容易にさせるユーザーフレンドリーな機能を使用した4D View Pro での開発エクスペリエンスが向上しました。

主なアップデートは以下のようなものを含みます:

  • ヘッダーをドラッグすることにより行やカラムを移動したり挿入したりできることで、データを構成するのがシンプルになります。
  • ウォーターフォールチャートやスムーズラインフォーマットなどの新しいチャートオプションによって、データの表示が改善されます。ユーザーは複数の、連続しないセレクションからチャートを作成することもでき、またロリポップバリアンススパークラインを使用することで最小限のスペースでデータ遷移を効果的に表示することができます。
  • 改善されたペーストの特殊オプションによって選択的データペーストが可能になる一方、カスタマイズ可能なシートタブは視覚的な編成を改善させます。
  • これらに加え、イベントはピクセルスクローリングをサポートするようになった結果よりレスポンシブになり、またインポートされたエクセルはソート条件も引き続き保存することができ、データの生合成が保証されます。

もっと知りたいですか?4D 20 R7についての全ての記事を読んでみましょう