- 締切済み
ハイブリッドなプログラムはどうやって作ってるんですか?
市販されているソフトウェアで「Win/Macの両方に対応したハイブリッド版」というものを見かけます。CD-ROM自体が両者で読み込み可能なハイブリッドでなくてはならないのは当然として、中身のプログラムもWin/Mac両用でなくてはなりませんよね?それはどのようにして作っているのでしょうか? 一般的にアプリケーションはCやC++などで作られていると聞きますが、これらはWindows専用のプログラムになると聞いています。Cと互換性があり、Mac専用のプログラムが作れる(解釈合ってますか?)Objective-Cという言語もあるそうですが、こちらは逆にWindowsで動かせないのではないでしょうか。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- Oh-Orange
- ベストアンサー率63% (854/1345)
★マルチプラットホーム対応の開発ツールを使う。 ・普通に考えて Windows 用に作られたプログラムはその環境しか動きません。 Unix ならその環境、Mac OS ならこの環境です。 でも Java 言語では1つのプログラムで複数の環境(OS)で動く仕組みを持っています。 既に回答があるとおりですね。 >ハイブリッドなプログラムはどうやって作ってるんですか? ↑ 今回の質問は2つの環境に対応した2タイプのプログラムを用意しているものと思います。 それでどうやって作るかは (1)Windows 用アプリを土台に作り Mac 用に移植。 (2)Mac 用アプリを土台に作り Windows 用に移植。 (3)Windows、Mac などのプラットホームに依存しない開発ツールを使う。 などがあると思います。 特に(3)は次のようなリンクが参考になります。 http://www.sra.co.jp/qt/?gclid=CL2CmZmnjY4CFQYjWAod3zJ2Dw→『Qt キュート』 このツールでは1つのソースコードから複数の OS 環境で稼動する開発が出来るようです。 この Qt は Java 言語と同じようなものだと思います。 でも Java 言語と違って仮想マシーンは必要としないようです。 どうやら1つのソースでそれぞれの OS の API を利用したネイティブ・コードを 作成するみたいだ。 ・この Qt を分かりやすく説明すれば Windows、Mac などに依存したソースではなくて .NET プログラムや Java 言語などの中間言語のような記述をすることで特定の環境 (プラットホーム)に依存しないでプログラムを開発できるようです。 最終的には Windows 用、Mac 用としてのプログラムを作成しますが2タイプ作成する事に なるわけだね。1つのプログラムで Windows/Mac の両用ではありません。注意。 ・以上。
- don_go
- ベストアンサー率31% (336/1059)
>中身のプログラムもWin/Mac両用でなくてはなりませんよね? 単にWindows用のプログラムとMac用のプログラムを両方 用意しているだけです。 #画像や音声等のデータは共用 >一般的にアプリケーションはCやC++などで作られていると聞き >ますが、これらはWindows専用のプログラムになると聞いています。 別にCやC++がWindows専用という訳ではありません。 他のOSでもCやC++でのアプリケーション作成が行われて います。 #もともとCは、UNIXの移植性を高める為に開発された #言語ですし...
- harudad
- ベストアンサー率16% (4/24)
JAVAなどは、バーチャルエンジンなどを使い~ CPU <=> バーチャルマシーン <=>アプリケーション コンピューターの違いを バーチャルエンジンを使って緩衝させています。 CからC++絶頂期が過ぎたあたりで、JAVAが流行りC#などが出てきて~ インターネットの普及でマルチなプラットフォームでも動くような~そんな言語が沢山あります。 プラットフォーム固有の問題(CPUは結局1つ珠の巨大なソロバンでしかないので)~こいつをなんとか緩衝できれば、マルチなプラットフォームなアプリケーションができるはずです。 LINUXなんかは、ソースを配布、色々なプラットフォームを、ヘッダ(本プログラムではないのですが~それを使える状態にする~まー辞書みたいなものですね、、、)を色々用意して、コンパイル(CPUが分かる情報~win系なら XXX.exe )して実行ファイルにする!事がまー当たり前のようになっています。 最近RPMなんてもので配布されるのが慣例化していますが、、、 親切な方が、プラットフォーム毎にパッケージを作ってくださっている!だけなんですよね、、、、、 で、マルチプラットフォームで配布するには、 JAVAなどで書いてしまうか? 実は数種類のプラットフォームの実行ファイルを用意、インスト時に使える物を選らんで、インストールする! のどちらかでしょう、、、、、 これから、言語を習得したいということであれば、JAVAなどのマルチプラットフォーム対応の言語をお勉強すると、楽しいかもしれません。 参考まで。
- popesyu
- ベストアンサー率36% (1782/4883)
普通に両方で作っているだけでしょう。 Mac版を先に作って、Winに移植ってパターンだと思いますが、それを同時に販売しているだけ。