さようなら4D Internet Commands – ついに現代的なインターネット機能の統合へ

4D 21 のリリースに伴い、インターネットの黎明期から多くの開発者に長年愛されてきた4D Internet Commands プラグインに正式に別れを告げることになりました。しかし、これは単なる時代の終わりではありません。より安全で、よりパワフルで、より楽しい4D インターネット通信の始まりなのです。
バージョン20 の4DIC は、4D 21 でも使い続けることができます。では、なぜ新機能へと切り替えなければならないのでしょうか?それは、新しいビルトインクラスは単なる4DIC の置き換えではなく、最新の開発環境でインターネットプロトコルをどのように扱うべきかを完全に見直したものだからです。これらはネイティブでスレッドセーフであり、セキュリティ、パフォーマンス、柔軟性において現代的な基準を満たすように設計されています。

ゼロから作り直した理由

90年代、電子メールの送信は、単純な接続を介して平文テキストを送信できればそれで十分でした。現代においては違います。今日、Eメールは暗号化、認証、フォーマットの複雑さの戦場です。これらの要求を満たすために30年前のプラグインにパッチを当てることは、純粋に持続可能な策ではありませんでした。そこで、私たちは新たにスタートを切ることにしました。
その結果どうなったかというと、セキュアでスケーラブルで、現代のインターネットのためにデザインされた4Dネイティブクラス群が誕生しました。OAuth2.0 認証でHTML メールを送信する場合でも、TLS 暗号化でTCP サーバーを構築する場合でも、堅牢直感的で、そして将来性のあるツールが装備されています。

メールの管理 – 最大の飛躍

最も一般的なユースケースであるEメールから見ていきましょう。これは、4DIC が最も広く使用されてきたエリアであり、また私たちが最も大きな改善を行ったエリアでもあります。

以前は、開発者はSMTP_NewPOP3_LoginIMAP_Login のような、それぞれにクセや制約のある複数のコマンドを使いこなさなければなりませんでした。エラー処理は最小限であり、HTML コンテンツやOAuth のような最新の機能のサポートは、どんなに贔屓目で見ても不完全なものでした。

現在では、SMTPTransporterPOP3TransporterIMAPTransporterMailAttachment 、そして4D NetKit などのクラスがあり、これらを使えば以下のようなことができます:

  • 非同期、スレッドセーフ、オブジェクト指向のAPIにより、開発がより速く、より楽しくなります。
  • HTMLメール、添付ファイル、最新の認証を完全にサポート。
  • POP3、IMAP、Gmail、Microsoft 365とのシンプルな統合。
  • エラー処理とデバッグの改善

 

使ってみたいと思いませんか?以下に、素晴らしいリソースがあります:

 

TCP通信 – 旧式のプロトコルのための現代的なコーディング

古いTCP_Login と関連するコマンドを使用すればなんとかタスクをこなすことはできましたが、柔軟性と現代的な機能に欠けていました。

4D 21では、以下のコマンドにアクセスできるようになりました:

  • クライアント側の通信のためのTCPConnection
  • サーバーを構築するためのTCPListenerTCPEvent
  • 安全なデータ交換のためのTLS暗号化(オプション)。

 

これらのクラスはイベント主導型スレッドセーフなので、スケーラブルな非同期アプリケーションに最適です。カスタムプロトコルを構築する場合でも、既存のサービスと統合する場合でも、新しいTCPスタックは必要な制御と信頼性を提供します。

さらに詳しく:TCP通信クライアントサイドサーバーサイド

 

UDP通信 – よりシンプルでクリーンに

軽量でコネクションレスな通信のために、新しいUDPSocket クラスとUDPEvent クラスが古いUDP_New コマンドに取って代わります。これらは以下のような特徴を提供します:

  • よりクリーンで直感的なAPI
  • イベントベーススレッドセーフなアーキテクチャ
  • 4D言語とのより良い統合

 

UDP通信はIoT、ゲーム、ローカル・ネットワーク・ディスカバリーなどのリアルタイム・アプリケーションに最適だと言えます。

詳細はこちら:UDP通信

 

HTTPリクエスト – RESTを簡単に

HTTP はInternet Commands プラグインの一部ではありませんでしたが、多くの開発者が並行して使用していました。新しいHTTPRequestHTTPAgent クラスは大きなアップグレードと言える新機能です:

  • すべてのHTTPメソッド(GET、POST、PUT、DELETE…)をサポート。
  • カスタムヘッダー、タイムアウト、認証。
  • ビルトインのJSON 解析とレスポンス処理。

 

これらのクラスによって、REST API を利用したり、サードパーティーのサービスと統合したりすることが簡単になります。

ここから始めてください:HTTPクライアントパート1 & パート2HTTPエージェント

 

まだプラグインをお使いですか?

移行に伴うリファクタリングには時間がかかります。そのため:

  • 4D Internet Commands バージョン20 のプラグインは、4D 21 でも互換性があります。
  • 新しいクラスは直感的で、ドキュメントも充実しています。
  • 移行すればパフォーマンス、セキュリティ、保守性において長期的なメリットを得ることができます。

 

移行にヘルプが必要ですか?

4Dプロフェッショナルサービスチームが、アプリケーションの現代化をお手伝いします。完全な移行であれ、いくつかの主要なモジュールだけの移行であれ、私たちがそのプロセスをご案内し、4D 21 の可能性を最大限に引き出すお手伝いをいたします。

一緒に4Dの未来を築いていきましょう。

それでは楽しいコーディングを!

Avatar
- プロダクトオーナー - Damien Fuzeauは、2019年2月に4D Productチームに参加しました。プロダクトオーナーとして、ユーザーストーリー(ユーザーが期待する新機能とその使用法)を書き、それを具体的な機能仕様に変換することを担当しています。また、実装された機能が顧客のニーズを満たしているかどうかを確認することも彼の役割です。ナント大学のソフトウェア工学科を卒業。前職の会社では最初は開発者として(1997年に4Dを発見)、後にエンジニアリングマネージャーとソフトウェアアーキテクトとして、23年以上勤務しました。この会社は、4DのOEMパートナーであり、現在は数千のユーザーと数百のサーバーに向けて4Dベースのビジネスソフトを展開しています。ですから、Damienは、多言語環境での4D開発・導入に慣れています。