Embarcaderoが出したモバイルアプリ開発への解とは
──モバイルアプリ開発に注力する理由を教えてください。
de la Lama:今やモバイルが主流だからです。多くの企業が、「モバイルファースト戦略」を採っています。世界が劇的に変わっているのですから、ツールも変わらなければいけません。
世界中にあるクライアントの台数を見てみましょう。Windowsが10億台、Macが6500万台の規模なのに対して、モバイルは10億台、そしてWebは20億クライアントという規模です。今後も、ダイバーシティ(多様性)が強まる傾向が続くでしょう。開発者にとってもマルチデバイス対応は急務です。
──Embarcaderoは、マルチデバイス対応について、どのような特色を打ち出そうとしているのですか。
de la Lama:私たちの狙いは、「ラピッド(迅速)なマルチデバイス開発」です。
マルチデバイス開発では、プラットフォームベンダー製のツール(ベンダー純正ツール)を使う以外に、HTML5による開発や、プラットフォーム共通の仮想コードによる開発など、いくつかの選択肢があります。私たちの製品でも、HTML5 BuilderはHTML5開発を、Prismは仮想コード(.NETとMono)による開発をサポートしています。
プラットフォームベンダー製のツールを使う場合は、それぞれのプラットフォームごとに異なるプログラミング言語とフレームワークを使う必要があります。Windowsでは言語はC#やC++、フレームワークは.NETまたはMFCで、Mac OS XではC++やObjective-CとOSX SDK、iOSではC++やObjective-CとiOS SDK、AndroidではJavaとAndroid SDKです。こうした複数の開発環境に習熟するのは大変なことです。
私たちは1本のコードからマルチデバイス向けの、しかもネイティブコードを生成するアプローチの製品を準備中です。これは、C++とDelphiの2つの言語と、FireMonkey FM2フレームワークで実現します。ターゲットはWindows、Mac OS、iOS、Androidの4種類です。1本のソースで、4種類のターゲットのネイティブコードを作れるのです。私たちは、ここで作られるネイティブコードを、仮想コードと区別するため「リアルコード」と呼んでいます。
新しく開発しなおしたコンパイラに自信あり
──「リアルコード」を使うことで、何が良くなるのですか。
de la Lama:仮想マシンの上で仮想コードを動作させるやり方は、チューニングの手法に限界があり、またハードウエア制御にも制約があり、GC(ガーベジ・コレクション)のため時々実行が中断するなどの弱点があります。もちろん、これは「仮想マシンは良くないやり方だ」という意味ではありません。オンラインバンキングやEC(電子商取引)などのアプリケーションは、このアプローチでも大きな問題はないでしょう。
リアルコードは、驚くようなユーザー体験を提供するアプリを作るために必要です。パフォーマンスを重視して、ハードウエアと密接に連携するようなアプリケーションです。こうしたアプリケーションをマルチデバイス対応で作ることができるのです。
──技術的には、どのようなチャレンジがあったのでしょうか。
de la Lama:今回、IntelとARMの両方のアーキテクチャに対応するコンパイラを新たに開発しました。元々、私たちはBorland時代からコンパイラには自信を持っていましたが、今回も強力なコンパイラです。残念ながらベンチマーク結果の数字を今日お見せすることはできませんが。
一方、最も難しかったのは、GUIコンポーネントです。私たちが提供するコンポーネントがそれぞれのOSの上でネイティブのように見え、ネイティブのように振る舞うよう設計しました。
──異なるUIを持つOSに対して1本のソースコードで対応するには、開発者の側でも工夫が必要になるのではないでしょうか?
de la Lama:それはあります。例えば、複数のページから構成するアプリケーションでは、OSによる違いを開発者が意識して管理しなければなりません。
2013年内にiOSとAndroidに対応
──製品提供のスケジュールを教えてください。
de la Lama:2013年第1四半期に、Delphiの新バージョンでiOSに対応します。開発コード名は「Project Q」です。第3四半期には、Androidにも対応する予定です。開発コード名は「Zephyr」です。これにより、Delphiのラピッド(迅速)な開発環境により、1本のコードでiOSとAndroidの両方のアプリを生成できるようになります。現時点ではβ版を提供中です。
さらに2013年第4四半期には、C++製品でiOSとAndroidに対応予定です。
──Delphiのモバイル対応版は、どのようなユーザーにとってメリットがあるとお考えですか?
de la Lama:今、iOSやAndroidでモバイルアプリを開発している開発者は、両方のOSに向けたアプリを作るために苦労しています。そのような人達にとって、福音となるツールになるはずです。
コンポーネントをドラッグ&ドロップ操作で配置しながら、多様なデバイスに対応できるモバイルアプリを開発する手法を提案します。お越し頂き、本格的なモバイル開発を身近に感じてください!
・【15-B-2】iOS/Android向け開発をビジュアルに!
C++Builder/Delphiでネイティブモバイル開発