- 【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 17 [転載禁止]©2ch.net
460 :デフォルトの名無しさん[sage]:2016/03/05(土) 07:41:43.76 ID:EYa+CMBk - >>459 からの続き
>>451 は正しい。 >QtはFreeBSDに対応しにくいが、Javaなら簡単。 Qtのホームページがダウンロードできる開発環境にFreeBSDが含まれていない。 JavaはOpenJDKがFreeBSDに対応しているし、別にFreeBSDで開発しなくてもWindowsで開発してWindowsで動く中間言語ファイルを配布すればそれがFreeBSDでも動く。 >QtもJavaも高額料金を払えばAndroid、iOSに対応する。 Qtの無料版(LGPL版)はAndroidとiOSに対応していない。 Javaも無料配布のものは対応していない。 JavaはOracle純正のOracle Mobile Application Framework(MAF)で対応できるが、これって660万円以上する。 >Javaは、逆コンパイルされるのでソース公開しているのとあまり変わらない。 JavaとC#は逆コンパイルを防げない。 難読化もほとんど効果ない。 ソース公開しているつもりでないと使うことは難しい。 >Javaは、機能限定で仕様が違ってもいいのならAndroidの標準の開発環境で無料で使え、RoboVMを使うと無料でiOSのソフトが作れる。 AndroidはJavaのサブセットのプログラムをDalvik VM用(apkファイル)に変換することで動かすことができる。 Dalvik/ARTはJava SEのフル機能が使えるわけではないが、一部であれば使える。 RoboVMを使えばJavaソースからiOSのプログラムを作れるが、これもJava SEのフルセットに対応するものではない。 >QtのLGPL版は無料だけども、LGPLというライセンス制約を受ける。 >Javaで作ったプログラムはライセンス制約を受けない。 LGPLだと、QtライブラリをダイナミックリンクするとLGPL感染して、LGPLライセンスのプログラムしか作れない。 QtでLGPL感染したくなければ、ライブラリをダイナミックリンクできないという制限ができる。 QtライブラリがないとQtで作ったプログラムは動かないから、Qtライブラリを一緒に配布することになるが、LGPLのライセンスに従って Qtライブラリのソースの配布義務が発生し、面倒くさいことになる。 Javaの場合はこういうことはないが、JREがOSにインストールされていなければならないという制約はある。 Oracle純正のJREを作ったプログラムと一緒に配布することもできるが、LGPLではないのでJREのソース公開義務はない。 通常JREはユーザーが別途インストール
|