テキサスのソフトウェア会社 Embarcadero Technologies は、Delphi 向けに FmxLinux のライセンスを供与し、開発者が 64 ビット Linux 用のデスクトップ アプリケーションをコンパイルできるようにすると発表した。
FmxLinuxは、RAD Studioバンドルにも含まれるEmbarcaderoのDelphi向けLinuxコンパイラを用いてLinuxデスクトップアプリケーションをコンパイルするためのツールチェーンです。FmxLinuxはサードパーティのEugene Kryukovによって開発されました。EmbarcaderoのMarco Cantu氏は今週の発表で、FmxLinuxは「長期配布契約」に基づいてライセンスされていると述べています。
Embarcadero は Idera Software の一部門です。
RAD Studioは既にWindows、macOS、Android、iOSをサポートするクロスプラットフォーム開発ツールです。2017年にリリースされたRAD Studio 10.2には、サーバーアプリケーション向けのLLVMベースのLinuxコンパイラが含まれていましたが、デスクトップ版は含まれていませんでした。今回の新しい契約により、デスクトップGUI(グラフィカルユーザーインターフェース)アプリケーションが追加され、クロスプラットフォーム開発ツールとしての機能がさらに充実しました。
使用されているフレームワークはFireMonkeyで、その名前の「Fmx」の由来となっています。FireMonkeyは、Windows専用のVisual Component Library(VCL)と並んで、クロスプラットフォーム開発をサポートするために2011年に導入されました。コンポーネントの一つに、デスクトップアプリ内でWebアプリケーションを実行できるブラウザコンポーネントであるWebKitGTKがあります。
Ubuntu 上で稼働している FmxLinux アプリケーション (クリックして拡大)
カントゥ氏によると、GUI Linuxアプリは、単一のアプリケーションがフルスクリーンで実行されるキオスクアプリケーションで特に需要が高いとのことです。こうしたシステムではWindowsが実行されることが多いですが、カントゥ氏によると、FmxLinuxは「Windowsライセンスのコストが大きな問題となるシナリオ」で人気があるとのことです。
また、Linux システムでは、空港などの大型公共スクリーンに表示される Windows のダイアログやエラー メッセージによって生じる恥ずかしい思いが少なくなるだろうという期待もあるかもしれません。
Linuxサポートは現在Delphiの機能ですが、C++言語を使用する関連製品であるC++Builderには含まれていません。これは、EmbarcaderoがC++BuilderをサポートするLinuxコンパイラをまだ開発していないためです。
Linuxサポートには、DelphiまたはRAD StudioのEnterpriseまたはArchitectエディションが必要です。無料のコミュニティエディションではLinuxサポートは提供されません。Professionalエディションも同様です。現在の価格は、Enterpriseが2,464.15ポンド、Architectが2,898.91ポンドです。Cantu氏はTwitterで、コミュニティエディションでのLinuxサポートを「検討する」と述べました。デスクトップアプリケーションが同梱されたことで、より現実的な選択肢となるかもしれません。
デルファイとキュリクスの子供たちの年代記
Delphiの歴史は古く、Linuxがサポートされるのは今回が初めてではありません。Borland Delphi 1.0(16ビット)は1995年2月にリリースされ、Anders Hejlsberg(現在はMicrosoft)が開発に重要な役割を果たしました。Delphiの言語はPascalの派生です。この製品は、真のネイティブコードコンパイルとドラッグアンドドロップによるビジュアル環境の組み合わせで高く評価されました。これは、これまでMicrosoftのVisual BasicまたはVisual C++を検討していた人々にとって、両方の長所を兼ね備えた製品でした。
Borland Kylixはずっと後の2001年3月に登場しました。これは開発とデプロイメントの両方をサポートする完全なLinuxビジュアル開発環境で、Windowsは必要ありませんでした(ただし、Windows互換レイヤーであるWineは必要でした)。また、CLXと呼ばれるクロスプラットフォームのコンポーネントライブラリもありました。
これは思い出を呼び起こすかもしれない: Delphi Kylix はデスクトップ Linux をターゲットとした以前の取り組みだった (クリックして拡大)
Kylix 2.0と3.0がその後リリースされましたが、この製品は成功しませんでした。これは以前からの問題でした。多くの開発者がLinuxサポートを希望していましたが、有料顧客のほとんどがデスクトップアプリケーションをWindowsで実行していたため、製品を購入する開発者の数は限られていました。さらに、パフォーマンスと互換性の問題もありました。
世界は今、様変わりしました。Linuxはサーバーアプリケーションにおいて、特にコンテナ化されたアプリケーションへのトレンドの中で、かつてないほど人気が高まっています。コンテナ化されたアプリケーションの多くはLinuxベースです。デスクトップにおけるLinuxは、Androidを除けばそれほど強力ではありません。しかし、Raspberry Piの成功や、バージョン4がPCの代替として十分であるという主張を考えると、ここでも興味深い進展が見られます。ただし、DelphiのLinuxコンパイラは現時点ではx64のみであることに注意してください。
4 台目のマルチ Pi: Raspberry Pi 4 が本日発売。1.5GHz Arm Cortex-A72 CPU コア 4 基、最大 4GB の RAM を搭載...
続きを読む
もう一つの要因は、現在Windows 10の一部となっているMicrosoftのWindows Subsystem for Linuxです。MicrosoftはこれにGUIを同梱していませんが、特にバージョン2.0では完全な互換性のために仮想マシンで実行されるため、GUIを追加するのは難しくありません。原理的には、DelphiのLinuxコンパイラをWSLで動作させることは難しくないはずです。
ハゲタカの爪の下:簡単な実地体験
Delphi 10.3 Architectのトライアル版をインストールし、Hyper-V VMでUbuntuを起動して新しいLinuxサポートを試しました。Ubuntu側では、Windows上のDelphiと通信するエージェントをインストールする必要があります。DelphiアプリケーションをLinuxサポート用に設定するには、マルチデバイスプロジェクトを選択し、「Linuxプラットフォームを追加」オプションを選択するだけです。次に、ターゲットとして64ビットLinuxを選択し、エージェントとの通信を設定し、「実行」をクリックすると、Ubuntu上でアプリケーションが起動します。
Delphiは現在、それほど知られていませんが、それには十分な理由があります。迅速な開発とネイティブコードコンパイラの組み合わせを今でも重視する開発者の間では、ニッチな支持を維持していますが、今日では選択肢は数多くあります。中でも、Delphiと高い互換性を持ち、長年にわたりLinuxデスクトップ開発をサポートしてきたオープンソースのLazarusプロジェクトは特筆すべき存在です。最新のDelphiでさえ、時代遅れ感は否めません。
しかし、エンバカデロは Delphi を現在も積極的に開発しており、2018 年 11 月にリリースされたバージョン 10.3 では、Windows での HighDPI サポート、Android および iOS のサポートの更新、IDE でのダーク テーマとライト テーマ、そしてサーバー側では RAD Server のパフォーマンスの大幅な向上などの機能が追加されました。
Kylix の最後のリリースから 17 年を経て、公式 Delphi 製品でデスクトップ Linux アプリケーションのサポートが復活したことは嬉しい驚きですが、参入コストが高いため、潜在的な市場の多くを阻むことになるでしょう。®