SHOEISHA iD

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

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

イベントレポート(AD)

マルチプラットフォーム対応のC++Builder XE3
~ 「第24回 エンバカデロ・デベロッパーキャンプ」レポート

64-bit Windowsサポートに加え、iOS/Androidのネイティブ開発を可能にするコンパイラアーキテクチャを搭載

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

 エンバカデロ・テクノロジーズ(以下、エンバカデロ)は12月7日、「第24回エンバカデロ・デベロッパーキャンプ」を開催した。エンバカデロ・デベロッパーキャンプは、RAD StudioやDelphi、C++Builder、ER/Studioといったエンバカデロの開発ツールを利用するユーザ向けに、最新の技術情報を紹介する開発者向けセミナーである。今回、C++の64-bitコンパイラのリリースとともに、来年のリリースを計画しているモバイル向け開発環境の初公開が行われた。本稿では、これらの最新発表についてレポートする。

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

マルチデバイス時代に威力を発揮するRADテクノロジー

図1 エンバカデロ・テクノロジーズ
製品担当ディレクター John Thomas氏

 午前中のチュートリアルセッション、テクニカルセッションに続き、午後からは今回のイベントに合わせて来日したエンバカデロの製品担当ディレクター John Thomas氏による製品アップデートが行われた。同氏は、1990年代からのソフトウェア開発の歴史を振り返り、WindowsやWebのみに対応すればよかった時代から、現在では、モバイルを含む多様なデバイスプラットフォームに対応しなければならない難しい時代に入ったと指摘する。

 「しかしこれは同時にチャンスでもあります。それぞれのプラットフォームが何十億とユーザーを抱えているのですから」(Thomas氏)

 特に注目すべきなのは、モバイルプラットフォームだ。現在iOS、Android、Windows Phone、BlackBerryといったプラットフォームがあるが、これらをそれぞれサポートしようとすると、別々の開発言語、開発ツール、フレームワークなどを利用しなければならない。これでは、プラットフォーム追加するたびにコストが倍増するし、バグを修正するにも、それぞれのプラットフォームごとにコードを直していかなければならない。

図2 マルチプラットフォーム化により開発コストがかさむ

 そこで、エンバカデロが提供するアプローチは、単一のコードベースによる開発だ。Windows、Mac OS XといったPC向けのデスクトップクライアントに加えて、モバイルプラットフォームをサポートすることで、コストの削減と工数の短縮が可能になる。

図3 従来の方法とエンバカデロの方法の比較

 ある事例の試算によると、エンバカデロが提供するマルチプラットフォームに対応したRAD手法を用いることで、従来5万行必要としたコードは2千行で済み、必要な工数も184人月から15人月と、劇的に短縮された。実際、コード1行あたりの単価も28.31ドルから2.26ドルに削減可能になるという。

C++Builder XE3に搭載された新しいコンパイラアーキテクチャ

 今回、C++Builder XE3に新たに64-bit Windows向けコンパイラが搭載された。コンポーネントフレームワークも64-bitに対応しているので、既存のアプリケーションも、ビルドターゲットを「64-bit」に変更するだけで、64-bit化が可能だ。

 現在の多くのWindows PCは、64-bit CPUを搭載している。64-bit CPUの性能を100%利用できるとともに、32-bitの壁を越えた広大なメモリ空間を利用できるなど、多くのメリットがある。

 今回のリリースでもう一つ重要なのは、最新のC++標準をサポートしていることだ。C++の言語標準は、昨年C++11としてまとめられた。新しいC++Builderのコンパイラは、この標準に準拠し、最新のC++ライブラリにも対応している。

 それにも増して注目すべきは、そのアーキテクチャだ。

 「今回のリリースで最も注目すべき点は、マルチデバイス対応のまったく新しいコンパイラアーキテクチャを導入したことです。これは、将来のためのアーキテクチャなのです」(Thomas氏)

図4 新しいコンパイラアーキテクチャ

 新しいコンパイラアーキテクチャには、フロントエンドとバックエンドの2つの部分がある。新しい言語標準とRADテクノロジーに対応するための拡張に対応したC++のフロントエンドに対し、バックエンドは、多様なデバイスプラットフォームをターゲットとしたネイティブコードを出力する。高い柔軟性を備えたアーキテクチャにより、今後、Windows、Mac OS Xだけでなく、iOS、AndroidなどをターゲットとしたARMプロセッサにも対応できるのだ。

 「2013年には、Delphi、C++の双方の言語で、iOS、Androidをサポートすることができます」(Thomas氏)

モバイル向けのRAD開発をサポートする新ツールを初公開

図5 エンバカデロ・テクノロジーズ
ローカライゼーション/
ドキュメントマネージャ 新井正広氏

 続いて登壇したエンバカデロのローカライゼーション/ドキュメントマネージャ 新井正広氏は、「おそらく世界初だろう」という前置きで、現在開発中のモバイル向けの開発環境をデモンストレーションしてみせた。

 新しい開発環境は、従来のWindowsデスクトップアプリケーション開発と同じように、コンポーネントをマウス操作でドラッグ&ドロップしてユーザーインターフェースを開発できる。ただ、その画面は、モバイルデバイスのものであり、コンポーネントもモバイル向けに適合したものだ。しかし、FireMonkeyという共通のマルチプラットフォーム対応コンポーネントフレームワークを使うことで、同じ開発手法、同じソースコードが利用できる。

 開発環境には、ネイティブARMプロセッサ向け開発のツールチェインが提供されており、統合開発環境内でビルドし、シミュレーターや実機に転送して実行することができる。各モバイルデバイスに搭載されたGPS、カメラ、加速度センサー、ジャイロなどのセンサーへのインターフェースもコンポーネントとして提供されるので、異なるデバイスに対して共通したコーディングが可能になる。

図6 モバイル向けネイティブアプリをビジュアルに構築できる

 コンポーネントが提供する機能だけでなく、ネイティブ言語の強みを活かし、各モバイルOSが提供するAPIを直接コールすることも可能だ。高性能化と市場への投入スピードの短縮化が進む、現在のモバイルアプリ開発に最適なツールとなることであろう。

今から始められるマルチプラットフォーム対応のC++開発

 64-bit Windowsに対応したC++Builder XE3は、12月10日より提供を開始した。一方、モバイル向け開発機能は、現在活発にベータリリースが行われているとのことだ。

 「iOSサポートは2013年前半、Androidサポートは2013年中盤のリリースを予定しています。現時点では、XE3を購入した方を対象にベータプログラムを実施しており、開発中の製品を試用できるようになっています」(Thomas氏)

 モバイル環境においても、使用するコンポーネントフレームワークは同じFireMonkeyだ。

 「現時点で、C++Builder XE3を導入し、FireMonkeyフレームワークによる開発を行えば、それは、WindowsとMac OS Xプラットフォーム向けの投資というだけでなく、iOSやAndroid向けの投資ということにもなるのです」(Thomas氏)

関連情報

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

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

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6919 2012/12/18 11:30

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング