どうやってAndroid/iOS両対応が実現されているの?
それでは、C++BuilderはどうやってAndroid/iOS両対応を実現しているのでしょう。ここでは、Android/iOS両対応を実現するための3つのキーワードを紹介します。
LLVM/Clang
C++Builderは、LLVMとClangをベースにエンバカデロの言語拡張を加えたC++コンパイラを利用して、Android/iOS(iPhone、iPad)向けコンパイルを実現しています。これらLLVM/Clangは、いまC++コンパイラの世界でとても注目され、また活発に成長しているオープンソースC++コンパイラなのです。LLVM/ClangがAndroidとiOSに両対応できているので、C++BuilderもAndroidとiOSに両対応できるのです。
FireMonkey
いくらC++コンパイラそのものがAndroid/iOS両対応しても、OSにまつわる表示機能の差を埋めることはできません。C++Builderでは、Android/iOSの表示機能に関する差はFireMonkeyという抽象化層によって吸収しています。
豊富なコンポーネント
せっかくコンパイラとOS間の表示機能の差を克服しても、スマホやタブレットのAPIを直接呼び出してしまうと、そのままではAndroid/iOSの両環境で動作しなくなってしまいます。これを解決するために、C++Builderではカメラ、位置情報、加速度センサ、コンパスなどの多くのスマホ/タブレットならではのコンポーネント機能が提供されています。
これらコンポーネントを使うことによって、Android/iOS両対応が1つのソースコードで実現できているのです。