SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事(AD)

Mac OS Xマシン一台でVMを使ってC++クロス開発環境を構築してみる

C++Builder XE3+FireMonkeyでネイティブクロス開発を実践

  • X ポスト
  • このエントリーをはてなブックマークに追加

 Mac OS Xマシンを一台用意して、ここにVMをセットアップしてWindowsをインストールします。そして、C++Builderを使って、WindowsとMacのクロス開発を実践できる環境を構築してみます。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 最近Mac向けアプリケーション開発の需要が増えてきて、今まではWindows向けだけだったソフトウェアをMac向けにも開発する必要が出てきたという話を聞きます。ビジネスアプリケーションでは、まだまだWindowsが多いようなのですが、海外では、店舗に導入するPOS用のPCも「お店がクールに見えるから」と、Macにする例があるとのこと。どこでクロス開発の需要が飛び出すか分かりません。

 開発者として悩ましいのは、複数のプラットフォーム向けの開発を行うとなると、開発環境も複数、マシンも複数必要になるという点です。でも、最近ではMac環境上にVMを使ってWindows環境を構築できるようになっています。あとは、クロスで開発できるツールがあればということですが、エンバカデロのRAD Studio(あるいはC++Builder、Delphi)であれば、現在ではWindows、Mac OS Xのネイティブクロス開発をサポートしています。この開発環境はWindows上で動作しますが、VMを使えばMac一台で済みそうです。

 そこで、Mac OS Xマシンを一台用意して、ここにVMをセットアップ。そして、C++Builder(Delphiでも同じです)をインストールして、WindowsとMacのクロス開発を実践できる環境を構築してみようと思います。

C++BuilderでできるMacクロス開発とは

これまでのWindows / Mac開発

 GUIのアプリケーションを構築する場合、Windows環境ではVisual Studioで、C++とMFC(Microsoft Foundation Class)を使って構築するというのが一般的です。一方Macでは、XcodeでObjective-CとCocoaを使います。

図1 Xcodeによる開発

 それぞれ、使用する言語も異なる上に、WindowsとMac OS XのOS固有のAPIやコントロールを利用するフレームワークを使うため、双方でのコードの再利用は困難です。また、同じ操作性を提供するのも、UIコントロールが共通化されているわけではないので、難しいでしょう。

 解決策の一つとして、Javaなどのマルチプラットフォームサポートの言語を利用する方法があります。しかしこの場合、両方のOSの共通項は利用できても、それ以上の機能や能力を発揮することは難しく、パフォーマンスや性能面で妥協せざるを得ません。

CPU/GPUネイティブのFireMonkey

 C++BuilderそしてDelphiには、前バージョンからFireMonkeyと呼ばれるフレームワークが搭載されています。現在バージョン2にアップデートされていますが、このフレームワークの特長は、CPU/GPUネイティブの高機能・ハイパフォーマンスでありながら、マルチプラットフォームサポートであるという点です。

 FireMonkeyは、DirectX/OpenGLをベースとしており、高機能なグラフィック描画機能を持っています。プラットフォームごとの差異はフレームワークが吸収しているので、アプリケーションレイヤーからは見れば、単一のコードで、複数プラットフォーム向けのアプリケーションを構築できるのです。

図2 FireMonkeyを使ったアプリケーション

 FireMonkeyは、コンポーネントフレームワークなので、Visual BasicやDelphiと同じように、マウス操作で部品を配置してGUIを構築できます。その部品は、WindowsでもMacでも使えるわけです。

 最新バージョンでは、Windows 8やOS X Mountain Lionもサポートしています。Retinaディスプレイの高品質な描画にも対応しています。

 今回、C++Builderの最新バージョン「XE3」で、このFireMonkeyフレームワークを使い、Mac向けのクロス開発を行うことにします。

次のページ
環境の構築

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

EDN編集部(イーディーエヌ編集部)

エンバカデロ・デベロッパーネットワーク(EDN)は、ソフトウェア開発者とデータベース技術者のための技術情報サイトです。Delphi、C++Builderをはじめとする開発ツールやER/Studioなどのデータベースツールに関連する技術記事、ビデオなどを提供しています。EDN編集部は、EDN記事と連携...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6785 2012/09/25 14:52

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング