Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
C++DelphiRAD Studio

Delphi / C++Builder マイグレーションの新常識

developers tv 23jun blog

2023年6月23日に配信されたYouTubeライブ「エンバカデロ・デベロッパーTV」では、「Delphi / C++Builder マイグレーションの新常識」と題して、旧バージョンで作成されたDelphi / C++Builderアプリケーションの移行に関する話題をお届けしました。

ここ10年ぐらい「マイグレーションプロジェクト」が数多く実施されていますが、さまざまな環境の変化によって、従来は「定番」の手法と言われていたものが、今は通用しなくなっていたり、むしろ回避したほうがいい、という方法だったりするようになってきました。そこで、この番組では、そういった通用しなくなった手法と、それに代わる新しい手法を紹介しました。

「旧プロジェクトのフォームを移行先でもそのまま再利用する」は誤り

古いUIをそのまま再利用することは、マイグレーション工数を削減する手段かもしれません。しかし、旧プロジェクトを作成した当時と比較して、画面解像度も変わり、UX標準が大きく変化している状況で、OS標準からも逸脱していく懸念があります。古いUIは、アプリケーションの価値が実際よりも低く見られるという事態を招き、開発者のモチベーションにも影響するのです。

最適なUXを実現することを、マイグレーションのひとつの課題として持つべきでしょう。

「Delphi 2007など一旦途中のバージョンに移行しておくべし」は誤り

かつて、バージョン2007がサポートするOSバージョンが有効であったり、ぎりぎり延長サポートにかかっている状況であれば、最後のANSIバージョンである2007への移行は有効であったかもしれません。しかし現在、2007に安易に移行したとしても、そのバージョンが保証するOSバージョンは存在せず、移行先に意味は持ちません。

OS環境が大きく変化した現在、最新バージョンへと一気に移行する前提で、対応箇所を可能な限りツールを援用して効率的にアップデートしていく方式が推奨されます。

「C++Builderの場合、一旦2007でプロジェクトを保存して最新バージョンに移行すべし」は誤り

同じように、古いC++Builderプロジェクトファイルを最近のバージョンのIDEで開くことができないことから、一旦2007で開く手法が広まっています。

これについては、アル・マナリーノ氏がCodeRageのセッションで言及しており、C++Builder プロジェクトの移行については、プロジェクトのデフォルト設定が異なるために予期せぬエラーを誘発しないために、新規プロジェクトを作成して、旧プロジェクトに含まれる既存のフォームを追加していく方法を推奨しています。

C++コンパイラについては、さまざまな変更が随時施されており、プロジェクトのデフォルト設定も変化しています。コンパイラオプションの設定などにより、潜在的な問題を引き起こさないためにも、この手法が推奨されるとのことです。

詳細は、こちらのビデオをご覧ください。

そのほかの新常識

番組では、このほかにも、いくつかの旧常識を採り上げ、その問題点と新しい手法について解説しています。

  • 「BDEやADOをそのまま使い続ければシンプルに移行できる」は誤り
  • 「カスタムコンポーネントは最新バージョンでビルドできるように移行すべし」は誤り
  • 「現在は64bit OSがほとんどなので移行先のアプリケーションは64bit対応しなければならない」は誤り

マイグレーションプロジェクトは、しばしば「移行作業」と捉えがちです。しかし、そこで移行したシステムは、今後何年にもわたって利用され続け、さまざまな追加要求に応えながら、保守していく必要があります。

そのため、「移行できればよい」という点の発想ではなく、「移行してどのように活用していくか」という時系列での発想に切り替えるべきなのです。

番組の録画ビデオは、こちらからご覧いただけます。

エンバカデロ・デベロッパーTVは、毎月月末火曜日の17時からYouTubeでライブ配信しています。


Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

IN THE ARTICLES