COMの後継となるのが「.NET Framework」
ただし、今でも現役で使われている
しかし、COMにはいくつか問題があった。たとえば、機能を追加するなどコンポーネントのバージョンアップをする場合、互換性を保たないと、旧アプリケーションやサードパーティのアプリケーションが動作しない可能性があった。同一のコンポーネントは、1つしか登録できないという制約があり、システムディレクトリにおかれていたため、古いコンポーネントを同梱したアプリケーションが新しいコンポーネントを上書きしてしまう可能性があった。
COMを使うActiveXも一時は隆盛を極めたが、セキュリティ的な問題が多発し、結果的に制限された形でしか利用できないようになり、後継のEdgeでは廃止されている。
ネットワークを介してCOMを呼び出せるようにしたものがDCOM(Distributed COM)である。コンポーネントを別のマシンに置き、ネットワークを介して呼び出せるようにしたものだ。このDCOMは、のちに改良されてCOM+と呼ばれるようになった。
このCOMやCOM+の後継となるのが.NET Framework(やCLR:Common Language Runtime)である。逆に言えば、.NET FrameworkはCOMの問題を解決できるような仕組みとして作られた。しかし、前述のようにCOMを廃止することはできず、.NET Frameworkでは、COMコンポーネントを簡単に扱えるようにしてある。
.NET Frameworkでは、COMのコンポーネントに対応するものとして「アセンブリ」を定義する。アセンブリには、リフレクションと呼ばれる仕組みがあって、アセンブリが含むクラスやそのメソッド、引数などの情報を調べることができる。アセンブリは、原則、特定のアプリケーション(他のアセンブリ)から呼び出すことが前提となるローカルなものだが、「グローバル・アセンブリキャッシュ」(GAC。Global Assembly Cache)にインストールすることで他のプログラム(アセンブリ)から利用可能になる。
現在ではソフトウェア開発で、COMコンポーネントを作ることは少なくなったが、Windowsのコンポーネントを呼び出して使うことは結構ある。COMは古い技術だが、いまだに現役と言える。
この連載の記事
-
第429回
PC
Windows Updateの「利用可能になったらすぐに最新の更新プログラムを入手する」はオンにした方がいいか? -
第429回
PC
WindowsからWordPadが廃止! RTF(Rich Text Format)はどうなる? -
第428回
PC
Google/Bingで使える検索オプション -
第427回
PC
WindowsのPowerShellのプロファイルを設定する -
第426回
PC
WindowsでAndroidスマホをWebカメラにする機能を試した -
第425回
PC
無料で使えるExcelにWord、Microsoft 365のウェブ版を調べた -
第424回
PC
Windowsの基本機能であるクリップボードについてあらためて整理 -
第423回
PC
PowerShellの今を見る 2つあるPowerShellはどっち使えばいい? -
第422回
PC
Windows 11の目玉機能が早くも終了、Windows Subsystem for Android(WSA)を振り返る -
第421回
PC
進化しているPowerToys LANで接続したマシンでキーボード/マウス共有機能などが追加 -
第420回
PC
Windowsプレビュー版に搭載されたsudoを試す - この連載の一覧へ