![104idebondi | Embarcadero RAD Studio Delphi C++Builder Blogs](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2020/08/104idebondi-1.png?resize=1140%2C694&ssl=1)
古いバージョンのDelphi / C++Builderで開発されたアプリケーション資産があり、その改修を検討していますか?旧アプリケーションの改修は、「マイグレーション」あるいは、より新しい価値を追加する観点から「モダナイゼーション」とも言われます。
マイグレーションの実施を検討している方は、技術的なポイントとプロジェクト(ないしはビジネス)的ポイントの両方を考慮しなければなりません。
技術的なポイントは以下のとおりです。
- Unicode対応:Unicodeサポートは、Delphi、C++Builder、RAD Studioに、バージョン2009から追加されました。マイグレーションに関する多くの情報は、このときに作成されましたが、これらは現在でもバージョン2007以前からのマイグレーションにおいては有効です。日本語においては、特に「全角文字=2バイト、半角文字=1バイト」という前提で記述された文字列処理は影響を受けます。これらは、Unicodeベースの処理に書き換える必要があります。Unicodeサポートの詳細については、「旧バージョンからの移行」ページに多くの情報が掲載されています。
- 64-bitサポート:Delphi XE2以降、従来のWin32 Delphiアプリケーションのコードから、64-bitアプリケーションを生成できるようになりました。Delphiにおいては、一般的に32-bit / 64-bitのハードルは高くなく、ポインタ処理などのメモリ関連のコード、関連するライブラリやドライバなども64-bitバージョンを用意する必要があることが主な確認ポイントです。C++に関しては、使用するコンパイラのアーキテクチャが異なるため、Delphiよりも多くの工数が必要になると予想されます。
- データベースとミドルウェア:従来バージョンで広く使われてきたBDE(Borland Database Engine)は既にサポートは終了しており、現在使用可能なWindows OSのいずれのバージョンにおいても、その動作を保証していません。また、ADOも最新のデータアクセス技術ではないため、マイグレーション先としては適切ではない可能性があります。現在のDelphi / C++Builderで推奨される最新のデータアクセス技術は、FireDACです。FireDACは、最新のRDBMSプラットフォームをサポートしているだけでなく、マルチデバイスサポート、クラウド/エンタープライズデータへのアクセスなど幅広い接続性をサポートしているため、ほぼすべての場合において最適な選択肢です。
- サードパーティコンポーネント:サードパーティコンポーネントやライブラリは、最新のDelphi / C++Builerのバージョンに対応する必要があります。多くのサードパーティコンポーネントは、最新のDelphi / C++Builderに対応しており、GetItパッケージマネージャで検索/インストールできます。すでに開発が終了してしまったコンポーネント製品についても、代替コンポーネントを見つけられるかもしれません。
プロジェクトおよびビジネス的ポイントは以下のとおりです。
- プロジェクトのリソースはすべてあるか:アプリケーションやカスタムコンポーネント/ライブラリのソースコードなどビルドに必要なすべてのリソース、仕様書等のドキュメントはすべて存在していますか?仕様が明確でないアプリケーションを、マイグレーション作業によって「最新バージョンに変換」したとしても、正しい動作かどうかを判断するための指標が必要です。「現状どおり」というだけの仕様は、テスト工数を膨らませてしまいます。
- 開発スキルは十分か:アプリケーションコードを改修するスキルが十分かどうかのチェックも重要です。例えば、自社製のカスタムコンポーネントを使用している場合、アプリケーションコードの改修はできるが、コンポーネント開発の経験がまったくない開発者のみで構成されているチームでは、これらの部分の改修が困難である可能性があります。
- コードの堅牢性、保守性:多くの既存アプリケーションは、部分的な改修を繰り返し、統一性のない保守性に劣る状態になっていることがあります。このようなアプリケーションは、バグも生みやすく、堅牢性も劣ります。マイグレーションプロジェクトでは、アプリケーションの現状を理解し、適切なリファクタリングを施す必要があります。
- モダナイゼーション:Delphi / C++Builderアプリケーションの可能性を、旧バージョン時点の能力に閉じ込めておくと、将来性について適切な判断ができなくなります。クラウド、モバイル、Webテクノロジー、マイクロサービス、IoTなど、さまざまなテクノロジートレンドに対し、Delphi / C++Builderは既存アプリケーションから拡張可能なかたちで、そのサポート技術を提供しています。モダナイゼーションは、アプリケーションを単に新バージョンへの移行ではなく、新しい付加価値をもたらすものとして捉え直す機会です。
エンバカデロでは、マイグレーション/モダナイゼーションのためのさまざまな情報を提供しています。旧Delphi / C++Builderアプリケーション資産を抱えている方は、ぜひこれらの情報をご確認ください。
Table of Contents
マイグレーションのロードマップを得るための情報
既存のDelphi / C++Builderアプリケーションの移行方針
Windows 10時代のDelphi / C++Builderビルド環境
マイグレーション作業の技術ポイント解説
Webセミナー「Delphi/C++Builderマイグレーション作業を手間をかけずに完了させる方法」
基礎から学べるFireDACデータアクセス再入門
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition