2011-12-25 14 views
5

は、私はここに関連する答えを見つけました:How do cross-platform mobile app development frameworks work?クロスプラットフォームのモバイルC++ SDKはどのようにして一般的にどのように動作しますか?

が、私はC++クロスプラットフォームのSDKの作業(例えばコロナ、マーマレード、EdgeLib、など)についての詳細を考えていました。開発者がC++コードを使用できるようにしながら、iOSとAndroid用のバイナリをエクスポートする機能を提供します。私の前提は以下の通りですが、どこに間違っていても修正してください。

  1. ユーザーはC++でコードを書いています。
  2. SDKには、モバイルOS固有の機能を要求するユーザーコードで呼び出されるC++関数を持つインターフェイスレイヤがあります。このインタフェース層は、特定のモバイルOS(Android用JavaおよびiOS用Obj-Cで書かれています)でSDK関数呼び出しを実装するために必要なコードから構築されています。
  3. パート私は多くのモバイル開発経験ポイントがないので、私はほとんど混乱しています:iOSとAndroidの両方に、C++で書かれた一般的なロジックコードをコンパイルできるC++クロスコンパイラがありますか?

答えて

5

MoSync C++ベースのクロスプラットフォームのモバイルツールキットの一例である - これは、アセンブリのような形式に、アプリケーションのC++コードをコンパイルするために、オープンソースのGCCコンパイラを使用して開始します。 MoSync(「PipeTool」と呼ばれる)によるカスタムツールは、このアセンブリフォーマットを、Javaバイトコード(Android用)またはObjective-Cソース(iOS用)を含む様々なターゲットフォーマットにプリコンパイルされたライブラリと組み合わせます。このプロセスの詳細はhereです。

ネイティブIDE(Android用Android SDK搭載のEclipseとIDE)を使用して、ターゲットプラットフォーム(AndroidまたはiOS)の最終編集を行います。したがって、iOSアプリケーションを作成するには、Eclipse IDEとAndroid SDKは無料ですが、Apple iOSデベロッパープログラム(年間99米ドル)のメンバーになる必要があります。

コロナSDKは、クラウド内のカスタムビルドサーバを使用してネイティブのバイナリ形式に構築されているため、完全に関連性がありません。クローズドソースツールキットとして完全に文書化されていません。あなたは、アプリケーションを構築するために、コロナに年間購読料を支払う。あなたが言及した他のもの(Marmalade、EdgeLibなど)についてはわかりませんが、MoSyncに似ていると思います。

4

Javaを使用しますが、最終的にiOS用のC++とAndroid用のJavaにコンパイルされます。

違いは、それらの環境にはすべてのグラフィックが含まれており、コントロール自体を作成するので、1つのコードベースで実際のネイティブアプリケーションが得られます。

関連する問題