残念なFireMonkey(FMX)

2016.11.7更新

FireMonkey(FMX)は、複数のOSの開発ができることを考えて作られています。
他のOSでも使える反面、OS固有の部分にアクセスしにくいことがあります。
FireMonkey(FMX)の利点はクロスプラットフォーム、すなわち複数のOSで動くプログラムの開発ができることですが、それを取ったらVCLに勝てることはほとんどありません。
しかも利点のはずのクロスプラットフォームの対応にも問題があります。
FireMonkey(FMX)は正直、機能面その他に難があり今後の改善も見込めないと思います。
FireMonkeyにはVCLに取って代わるだけの能力がありません。
VCLとあまり似ていないことも残念です。
FireMonkeyが出た直後はこれから進化していく期待がありましたが、期待通りに進化してくれませんでした。
大きな進化としては2015年のXE8からTWebBrowserが追加されましたが右クリックメニューを変えることもできず、リンククリックイベントもないなど機能不足です。
10.1 BerlinでFireMonkeyはオブジェクトインスペクタに出ていたイベントなどを隠しはじめて、例えばTStringGridのOnClickやOnKeyDownを隠して普通には使えなくしました。
進化どころか退化です。
FireMonkeyFMXで作ることができるブログラムをFireMonkeyで作っても特に問題はないと思います。
しかしクロスプラットフォームの開発環境としてFireMonkeyを選ぶのは慎重になったほうがいいかも知れません。
FireMonkeyはクロスプラットフォームですが残念ながら無料のStarter Editionではクロスプラットフォーム開発できません。
ターゲットOSがバージョンアップした時に既に配布中のFireMonkeyソフトが動作しなくなるのでは?という重大な問題があります。
WindowsではFireMonkeyで作ってもそういう問題は多分ないとは思いますが他のOSでは起こり得るもしくは今まで起こって来たことです。
C++ Builder XE4+Mac OS X Mountain Lionで作ったMac OS X向けプログラムがMac OS X 10.9 Mavericksで動作しないとことが実際にありました。
C++ Builder XE8+Mac OS X 10.9.5 Mavericksで作ったプログラムは、最新のMac OSであるMac OS Sierraでも動作したので、新しいC++ BuilderとMac OS (X)を使うと、Mac OS (X)については今のところ上位バージョンに対しては大丈夫なようです。
C++ Builder XE8 で作ったAndroidプログラムは、Andoid SDKのAndroid 6.0エミュレーターにはインストール時にエラーが出てインストールできませんでした。
ただし、Android 6.0の実機を持っていないため実機でどうなるのかは試していません。
Windows以外のOSであってもそのOSの純正の開発環境ではこういう問題はあまり起こりません。
もうひとつは、他のクロスプラットフォームの開発環境と比べてどうなのかです。
特にQtは機能面では大昔から既に完成の域に達しています。(QtのAndroid版試したらエラー出て実行ファイル作成できなかったけど。)
それにFireMonkeyはGNU/Linuxに対応していません。

C言語の話


あーすブラウザ
オンライン鍋田辞書
鍋田辞書トップ