CLX(Component Library for Cross Platform)は、
Microsoft Windowsと
Linuxの両プラットフォームに対応したアプリケーション開発を可能にするための、視覚的なコンポーネントベースのソフトウェア
ライブラリおよびフレームワークです。
ボーランド(Borland)が、Kylix、
Delphi、
C++ Builderといった
統合開発環境で使用するために開発しました。この
ライブラリは、
Object Pascalというプログラミング言語で記述されています。
CLXは、当初、
Microsoft Windows専用のフレームワークであったVCL(Visual Component Library)を置き換えることを目指して開発されました。CLXは、トロールテック(現The
Qt Company)の
Qtフレームワークを基盤としており、APIはVCLとほぼ互換性を持つように設計されていました。これにより、既存のVCLを利用したアプリケーションを比較的容易にCLXへ移行できると期待されていました。
しかし、実際には、Windows環境における性能が期待通りに向上しなかったこと、VCLとの細かな差異、そしていくつかのバグなどが原因となり、VCLの完全な代替には至りませんでした。また、CLXが主に利用されていた
統合開発環境であるKylix自体も商業的に成功を収めることができず、結果としてCLXの開発は中止されることになりました。
オブジェクト指向プログラミングの観点から見ると、CLXはSystem.TObjectクラスを最上位のスーパークラスとする階層構造を形成しています。CLXに含まれるすべてのクラスは、直接的あるいは間接的にTObjectクラスを継承しています。また、型の多重継承を利用した
ポリモーフィズムを実現するために、いくつかのクラスは複数のインターフェースを実装しています。これにより、柔軟で拡張性の高いソフトウェア開発が可能になります。
CLXは、
クロスプラットフォーム開発の可能性を追求した試みでしたが、様々な課題に直面し、その歴史を終えました。しかし、その技術的な側面やオブジェクト指向設計の概念は、後のソフトウェア開発に影響を与えています。
関連用語:
Visual Component Library (VCL)
FireMonkey
*
ソフトウェアコンポーネント