この度、4D v20のベータテストが開始されることになりました!
既存製品の強化や、4D開発者の投票による要望の高い機能など、100以上の進化を遂げたこのリリースは、これまでで最も包括的で機能豊富なリリースの1つとなることをお約束します。
このリリースでは、これまでで最も包括的で機能豊富なリリースになることをお約束します。4D v20 Beta has to offer:
- 新しい組み込みのWebSocket Serverを使用して、大量のデータを処理し、シームレスなユーザーエクスペリエンスを提供できるリアルタイムWebアプリケーションを構築できます。
- オブジェクトやコレクションをコード内で初期化するための、より簡潔で読みやすい方法を提供するオブジェクトリテラルやコレクションリテラルを使って、複雑なデータ構造を扱うことができます。
- 検索と置換機能の改善により、迅速かつ効率的にコードを検索し、置換することができます。
- メニュー項目を記述したコレクションを渡すことで、アプリケーション用のカスタム「ヘルプ」メニューを作成できます。
- 4D Write Proのテーブルを使えば、時間を節約し、素早くデータを分析、整理することができます。4D Write Proのテーブルは、改ページ、ヘッダー、フッター、改行まで、自動的にデータをテーブルに記入します。
- 4D Write Proのテキストボックス(フローティングコンテナ)を活用して、複雑な商品のフライヤーやパンフレットを印刷しましょう。
- 新機能、QUICネットワークレイヤーは、クライアント/サーバー通信を完全に書き直したものです。TCPではなくUDPで構築されているため、パケットロスや輻輳など、ネットワークトラフィックの遅延や中断の原因となる問題が発生した場合、より迅速に復旧することができます。
- Microsoft Graph APIを使用したMicrosoft 365のネイティブサポートにより、メールの送信、受信、整理、シングルサインオン(OAuth2)によるユーザー認証が可能。
- このLTSには多くのことが待っている(後述)
4D Language and Beyond
NEW BUILT-IN WEBSOCKET SERVER(ビルトインウェブソケットサーバー
WebSocketプロトコルは、クライアントとサーバーの間に永続的な全二重通信チャネルを提供します。2者間のリアルタイムなデータ転送を可能にし、より高速で効率的な通信を実現します。
4D v20では、 WebSocketサーバーが内蔵され、開発者は大量のデータを処理し、シームレスなユーザー体験を提供できるリアルタイムWebアプリケーションを構築することができるようになりました。
これにより、リアルタイムのデータ可視化、コラボレーションアプリケーション、即時更新を必要とするIoTアプリケーションなどの可能性が広がります。
オブジェクトとコレクションのリテラルイニシャライザー
オブジェクトとコレクションは、New object とNew collection コマンドを使用して、コード内で初期化することができます。
4D v20 では、大規模または複雑なオブジェクトやコレクションをコードで初期化するために、より読みやすい新しい構文、オブジェクトリテラルとコレクションリテラルが導入されました。
オブジェクトリテラルを使用すると、中括弧{}で囲まれたプロパティと値で オブジェクトを初期化することができます。例えば、New object コマンドを使う代わりに、次のような1行のコードで新しいオブジェクトを作成し、そのプロパティを初期化することができます{$object1 := {a : “foo”; b : 42+26; c : {}; d : [“coucou”; “rien”]}.
同様に、コレクションリテラルを使えば、角括弧[]で囲まれた要素でコレクションを 初期化することができます。
改良されたDistinct関数のご紹介
Collectionと EntitySelectionクラスのdistinct関数は、ユニークな値のリストを取得することができます。
4D v20では、各特異的な値の出現回数も取得することができます。この機能は、大規模なデータセットを扱う際に、特定の値の出現頻度を分析する必要がある場合に有効です。
未定義値との比較
4DにORDAやその他のオブジェクトが導入されたことで、開発者は未定義の値を扱うことが多くなり、時には異なる値と比較する際にエラーになることがありました。
4D v20から、開発者がエラーを発生させることなく、あらゆるタイプの値を未定義の値と比較できるようにする新しい改良が導入されました。つまり、コードにエラーが発生することを心配することなく、未定義の値と他の値を安全に比較できるようになったのです。
Print FormおよびFORM LOADコマンドへのフォームオブジェクトの受け渡しについて
4D v20 では、Form コマンドがPrint form とFORM LOAD でサポートされています。Form 、以前のバージョンではDIALOG またはサブフォームで利用可能でした。プロセス変数の必要性を劇的に減らし、よりポータブルで分離したコードを書くことができます。これは、4Dにとって歓迎すべき改善であり、開発者の生活をより簡単で生産的にすることは間違いないでしょう。
カスタムヘルプメニュー
4D v20 では、メニュー項目を記述したコレクションを渡すことで、アプリケーションのカスタム「ヘルプ」メニューを作成することができます。これにより、例えば、ドキュメント、サポート、その他の役立つリソースに簡単にアクセスできるようにユーザーに提供することができます。
データストアをロックするための新しいコマンド
4Dは、データをバックアップする方法を複数内蔵しています:4Dバックアップとミラーサーバーの使用です。4D v20 では、データストアをロックする内部コマンドを公開し、4D の実行中にデータをコピーすることができます。ds.flushAndLock(),ds.locked(), そしてds.unlock() にご挨拶を。
複数ジャーナルの自動統合
4D v20では、データベースの保守運用時の生産性を大幅に向上させる強力な新機能を導入しています。データベースの起動時に複数のジャーナルを自動的に統合することで、手動のデータベース管理作業に時間を費やすことなく、アプリケーションの開発に集中することができます。
この機能を利用するには、「データベースが不完全な場合、最後のログを統合する」設定が有効になっていることを確認するだけです(デフォルトです)。そして、統合したいジャーナルファイルを現在のジャーナルファイルの隣に配置します。4Dは、スタートアップデータベースに欠落した操作を自動的に検出し、すべてのジャーナルファイルをチェックして、復旧が可能かどうかを判断します。欠落している操作がない場合、あなたが介入する必要なく、すべてのジャーナルから操作を統合します。
最新の検索・置換機能の紹介
コードエディターの「検索と置換」機能は、何年も前から存在しています。開発者は、特に大規模なコードベースを扱う場合に、迅速かつ効率的にコードを検索・置換することができます。4D v20では、コーディングのワークフローを効率化するためにこの機能に依存している開発者に喜ばれるであろう改良が施されています:
- 置換するコードの出現回数を把握できる
- 現在発生している位置を知ることができる
- 次へ」「前へ」のナビゲーションオプションに永続的にアクセスできること、
- モーダルウィンドウの代わりにパレットを表示し、クリック回数を制限する。
4Dコマンドでアプリケーションを完成させる
4Dは、開発者が独自のビルドチェーンを作成するための新機能を継続的に追加し、アプリケーションに高い柔軟性とカスタマイズオプションを提供しています。これらの機能には、「.zip」フォルダの作成、実行ファイルや「dll」の著作権などの追加情報の追加、「info.plist」ファイルの作成が含まれます。
4D v20のリリースでは、スタンドアロンまたはクライアント/サーバーアプリケーションの作成プロセスをより簡単にするために、2つの新機能が追加されました:
- 実行ファイルにアイコンを追加する。
- デプロイメントライセンスファイルの生成。
Windowsでの印刷プレビューのためのPDFフォーマット
PDFフォーマットは、Windows上で印刷プレビューを行うためのXPSに代わる有効な選択肢であり、ユーザーにより身近な選択肢を提供します。MicrosoftがXPS ViewerをWindowsのオプション機能として決定したことで、アプリケーションを展開する際に多くのユーザーに問題が発生し、エンドユーザーが印刷物をプレビューすることができなくなりました。無償のXPS Viewerのインストールは簡単ですが、管理者の中には、特にリモートデスクトップ環境での追加機能のインストールを躊躇する人もいます。
幸い、4D v20では、印刷プレビューにPDFフォーマットを使用するオプションが用意されています。現在のWindowsのほぼすべてのバージョンには、XPSまたはPDFがプリインストールされているので、エンドユーザーは、印刷プレビューの問題に遭遇することはありません。この新しいオプションは、エンドユーザーと管理者の両方のニーズを満たす、より柔軟で効率的なソリューションを提供します。
その他にも…
4D v20には、開発プロセスを容易にする30以上の新機能が含まれています。コードフットプリントを削減するステートメントと演算子(例:&&、||、 return、break、continue)、すべての実行コンテキストで効率的になるグローバルなエラーハンドラを定義できる機能、ユーザーアカウントフォルダの代わりにWindows Remote Desktop Servicesで共有フォルダにローカルリソースをダウンロード、ライセンス使用に関するすべての情報を与える新しいコマンド、外部プロセスを非同期に開始、コレクションとエンティティ選択に基づいてリストボックスで自動行高。まだバイナリーモードで開発されている方は、プロジェクトモードで4Dサーバー上で同時開発できるようになりました。つまり、開発組織に影響を与えることなくプロジェクトモードを採用でき、その専用機能の恩恵を受けられます:シリコンコンパイル、CSSフォーム、クラス、計算属性、そして準備が整えば、ソースコントロールシステム。
4D-Analyzer extension
Visual Studio Codeエクステンションの新機能
この拡張機能は、私たち4D開発者から大きな注目を集め、これ以上の喜びはありません!
4Dは、Visual Studio Codeコードエディターをサポートし、4Dコードを扱い、シンタックスハイライト、Go To Definition、Signature Help 、コード補完などの標準機能を提供することができるようになりました。
4D v20は、4D-Analyzerエクステンションを通して、Visual Studio Codeエディタに新しい機能を提供します:キーワード補完とシンタックスチェックが可能です。
コードエディタにさらなる機能を…
クラス内の関数のリストがコードエディタツールバーに表示され、特定の関数に素早くジャンプできるようになりました。コード、ドキュメント、エクスプローラー間のナビゲーションが簡素化されました。コメントタグでコメントの整理がしやすくなりました。オブジェクトチェック構文で生産性を向上。存在しない関数を呼び出すと、コードエディタに警告が表示されます。コードエディターをカスタマイズして、より良い構成にすることが可能です。また、ドキュメントサイトで検索することなく、クラス関数の詳細にアクセスする機会があります。
4D Write Pro
4D Write Proは、過去数回のバージョンアップで劇的に改善されました。実際、私たち4Dチームは、4DWrite Proを強力なテンプレートベースのドキュメントジェネレーターにすることで、マニュアルによるドキュメント作成の必要性をなくし、エラーのリスクを軽減することに投資しています。
4D Write Proでは、4Dデータベースから直接データを取得し、文脈に沿った情報を自動的に入力し、入力済みのドキュメントを生成することができます。これには、名前、日付、住所情報、番号などの情報が含まれます。4D Write Proは、この情報をテンプレートと融合させ、合理的で効率的な文書作成プロセスを提供します。
これまでのリリースでは、ヘッダー、データソース、繰り越し行など、強力な機能を導入してきました。これらの機能はユーザーから好評を得ており、4D Write Proの機能をさらに向上させました。
4D v20のリリースでは、すでに素晴らしい機能のリストに加え、2つの新しい機能をご紹介します:
4D Write Pro とテキストボックス: docx インポート/エクスポートオプション
テキストボックスでは、テキスト、テーブル、画像、数式、その他の要素を含むフローティングコンテナを文書の任意の場所に挿入することができます。この機能はv20で改良され、これらの要素をdocx文書から、またはdocx文書にエクスポートおよびインポートすることができるようになりました。
テーブルの改行
あなたの活動が何であれ、リストを作成する必要があるのは確かです。これらのリストは、自分の基準に従ってソートされ、通常、合計や統計を得るために、これらのグループごとにグループを作成する必要があります。
この機能を使えば、リストの中にグループを作ることができ、グループごとの合計や統計を素早く取得することができます。例えば、売上データのリストがある場合、月別や営業担当者別にグループ化して、各月や各営業担当者の売上合計を確認することができます。
この機能により、時間を節約し、データの分析や整理を容易にすることができます。
その他にも…
ヘッダー、データコンテキスト、4D Write Proのテーブルに「データソース」を定義する可能性、繰り越し行、ドキュメントの変更検出機能、数式のユーザーフレンドリーな表示、空画像の可視性の無効化など、前述の通り、4D Write Proの機能セットは4D v20でさらに拡張されました。その他にも多くの機能があります。
Data Explorer
メインツールバーにデータエクスプローラーを表示する
4D Data Explorerは、管理者と開発者がリモートで(HTTPS接続で安全に)、または開いたデータベースと同じマシン上でローカルに使用できるWebブラウザインターフェイスです。
この製品は、開発者と管理者に4Dデータベースのデータを管理・分析するための強力なツールを提供し、問題の発見と修正、パフォーマンスの向上をより簡単にします。
4D v20では、データエクスプローラーに2つの重要な機能強化が施されました。
1つ目の機能は、データ間の関係を視覚化することで、データベース内の関連情報の閲覧や検索を容易にするものです。
2つ目のアップデートは、 ツールバーにデータエクスプローラーのアイコンが追加され、外部ウェブブラウザの代わりに4Dで開くことがより簡単になりました。ユーザーは、ワンクリックでツールバーから直接データエクスプローラーにアクセスでき、時間の節約と生産性の向上を実現します。
ORDA
4D v20から、ORDAで可能になりました:
- RESTサーバー:RESTサーバー:不正なユーザーからデータを保護するための堅牢なシステムにより、ユーザーのパーミッションを処理します。データを保護するシステムは、誰がアクセスするのか、どのデータにアクセスするのかによって異なります。
- クライアント/サーバーとRESTの両方で、ORDAのコンテキストとキャッシュをよりよく制御し、パフォーマンスを向上させます。
- ビジネスロジックをUIから切り離すことができる計算された属性。
- エイリアスは、計算属性の論理的かつ補完的な継続であり、開発をより速く、より簡単にします。使用例としては、関連する属性に簡単にアクセスできるようにすることです(つまり、関連するデータベースの複雑さを隠すことです)。
- BLOBタイプの完全サポート。
- entitySelectionオブジェクトで利用可能な関数selected()を使用して、2つのエンティティ選択を検査および比較することができます。
注:ORDAに興味はあるけど、何から始めたらいいかわからない?初心者からエキスパートレベルまで、たくさんのリソースがあなたをガイドしてくれます。私たちは、あなたのためにさらに簡単にするために、それらをすべて1つの記事に集めています。ガイドを読む
New Network Layer
QUICの紹介
4D上で動作する最も重要なプロダクションサーバーへの同時接続数が増え続ける中、最適なパフォーマンスを確保することが開発チームにとって最優先事項となっています。この課題を解決する有望なソリューションとして登場したのが、QUICプロトコルです。
QUICは、サーバーサイドのネットワークにおけるスピードとパフォーマンスを向上させるために設計されたプロトコルです。Googleが10年以上かけて開発したQUICは、TCPではなくUDPの利点を生かし、パケットロスや輻輳などの問題が発生した場合に、より早く回復できるようになっています。QUICは今日、例えばHTTP/3で「HTTP over QUIC」として多用され、すべての主要ブラウザでサポートされており、すでにGoogleのサーバーへの接続の半数以上で使用されています。Facebookはインターネットトラフィックの75%以上をQUICで処理しており、YouTube、Gmail、Uberなど多くのアプリがサーバーとの通信にQUICを使用しています。
QUICは4Dv20ではまだ実験的な機能だと考えられていますが、あなたのインフラでテストすることで、その潜在的なメリットを評価することができます。QUICをお試しいただき、フィードバックをいただくことで、このエキサイティングな新技術を改良し、4Dv20の将来のリリースに反映させることができます。また、 QUICは4Dインフラの回復力を強化し、接続不良やその他のネットワークの課題に対処できるようにすることができます。
Mail Features
POP3:メールヘッダーのみをダウンロードする。
POP3を使用して電子メールメッセージを取得する場合、メッセージ本文をダウンロードせずに、 メッセージヘッダー(送信者、件名、日付などの情報を含む )だけを取得することが可能である。
ヘッダーのみを取得することは、メールボックスのメッセージのリストを素早くスキャンして、どのメッセージをダウンロードして読むかを決定したい場合に役立ちます。
4D v20から、POP3Transporter.getMail() 関数に、本文なしでメールを受信するための新しいパラメータが追加されました。
IMAPの場合:メールボックスIdとメールキーワード
4D v20では、IMAPトランスポーターに2つの便利な機能が追加されました:
最初の機能は、特定のIMAPメールサーバーやクライアントとやり取りする際に、カスタムEメールキーワードを管理する機能です。カスタムキーワードは、電子メールに特定のラベルやカテゴリを付けて、後で整理したり見つけたりしやすくすることができます。4D v20のこの新機能により、IMAPトランスポーターを使用して、カスタムメール・キーワードの追加、削除、リストアップが可能になります。
2つ目の機能は、IMAPトランスポーターでのメールボックスIDのサポートです。IMAPメールボックスを扱う場合、メールボックスの名前を変更したり移動したりすることがあり、時間の経過とともに追跡が困難になります。4D v20のメールボックスIDのサポートにより、名前変更や移動があっても、特定のメールボックスを特定することができます。これは、アーカイブされたメッセージや特定の送信者からのメッセージを含むものなど、必要不可欠なメールボックスを追跡するのに便利です。
Microsoft365: フォルダー管理
MicrosoftはIMAPとPOP3のBasic認証を廃止するため、ユーザーはメールデータにアクセスするために、より安全な認証方法を使用する必要があります。Graph APIは、電子メールデータを含むMicrosoft 365のデータにアクセスするための、より安全でモダンな方法です。
4D NetKitの新機能により、 Microsoft Graph APIを使ったメールボックスのプログラミングによる 管理 (作成、削除、名前の変更、情報の取得)ができるようになりました。
and much more…
4D NetKitには、Microsoft Graph APIを使ってメールを管理するためのコマンドがいくつか用意されています。コマンドは、メールの送受信とメールボックスのフォルダの一覧、フォルダから別のフォルダへのメールの移動、メールへの返信と会話の作成、下書きメールの作成と選択したフォルダへの保存、メールの削除です。
また、4D NetKitは、Microsoft AzureベースのActive Directoryの一部になることができ、ユーザーは通常の会社の認証情報を使用してアプリケーションにログインすることができます。シングルサインオンを可能にするほか、電子メール、部署、電話番号など、認証されたユーザーに関する情報を取得するのに役立ちます。
また、IMAP、SMTP、POP3トランスポーターを通じてメールにアクセスするためのOAuth 2.0認証の導入に続いて、4DもOAuth 2.0認証を導入しました。4Dは、4D v20でOAuth 2.0プロトコルの実装を継続し、Microsoft 365のAPIに接続するために、Microsoftアイデンティティプラットフォームから認証トークンを迅速に要求する方法を提供します。
4D View Pro
4D v20では、データを読み込んでテンプレートを構築するのに最適な機能、データコンテキストが導入されました。データコンテキストは、データをロードし、テンプレートを構築するための素晴らしい方法です。プレースホルダーでドキュメントを作成し、このデータコンテキストを設定することでそれを埋めることができます。つまり、レポート、請求書、契約書、その他の文書タイプなど、あらゆる状況に応じてビジネスコンテンツに正しい情報を自動的に入力することができます。
また、ピボットテーブルも見逃せない機能です。4D View Proのリボンから直接、データの要約や分析が簡単に行えるので、営業やマーケティング担当のユーザーがいるのであれば、この機能は試してみる価値があると思います。
4D v20では、CSVファイルのインポートとエクスポートも可能になります。また、印刷機能が強化され、利用可能な印刷設定により、ワークシートが紙面上で美しく見えるようになります。
また、多くのコマンドを利用できます:
- 4D View Proドキュメントのシートをプログラミングで管理する。
- UIタンクから、コンテクストメニューの新しい項目に改ページを処理します:「改ページを追加する」「改ページを削除する」。
- シートタブやスクロールバーを非表示にしたり、コンテキストメニューやドラッグ&ドロップを無効にすることで、ユーザーエクスペリエンスを微調整することができます。
- セルの範囲をコピー/カットして別の場所に貼り付けることで、開発プロセスをスピードアップできます。
- ヘッダー、テーブルのサイズ変更、サマリー行、列の並べ替え、フィルターなど、テーブルのプロパティを追加して活用できます。
- エンドユーザーのニーズに応じて列や行を追加したり削除したりすることで、テーブルの列や行をより効率的に管理することができます。
- 60種類以上の定義済みテーブルスタイルをプログラミングして適用します。これらのスタイルのどれもがあなたのニーズを満たしていない場合、あなたはあなたのテーマを定義し、あなたのテーブルに適用することができます。
もっと技術的な詳細が必要ですか?の4D v20 Beta ドキュメントを見て ください。4D Doc Center.
お客様のご意見は大変ありがたく、より良い製品作りに役立たせていただきます。どのような機能についても、ぜひご意見をお聞かせください。ベータ版」フォーラム (すべての4Dパートナーにアクセス可能)にご投稿ください。まだパートナーではありませんか?4Dパートナーになり、会話に参加しましょう!