複数のデバイスに展開したいプログラムがあります。
- スタンドアロンキャプティブAIR
- Webベースのフラッシュアプリ
- iOSアプリ
- Androidアプリ
一部のUI以外のコードは、多くの部分で同一です。最善のアプローチは何だろうと思います。共有ライブラリプロジェクトがある場合、またはantまたは他の方法で制御される異なるコンパイラ設定を持つ1つの大きなプロジェクトがある場合。
複数のデバイスに展開したいプログラムがあります。
一部のUI以外のコードは、多くの部分で同一です。最善のアプローチは何だろうと思います。共有ライブラリプロジェクトがある場合、またはantまたは他の方法で制御される異なるコンパイラ設定を持つ1つの大きなプロジェクトがある場合。
共有ライブラリプロジェクトへのアクセスと使用は、クロスプラットフォームプロジェクトに実装するための最良の方法です。このアプローチ以外に、antBuildを使用できます。
答えは通常、異なる「UIのもの」と関係がありますが、Flash / AIRのように聞こえるので、それはおそらく大きな問題ではありません。私の場合、「1つの大きなプロジェクト」アプローチを採用し、IDEと互換性のある本格的なCI/NIおよびSCMスイートを入手します。Eclipse / Aptanaを使用している場合、私はHusdon / Surroundが好きです。(完全な開示:私は@ Seapineで働いていました。)Eclipseを使用していない場合は、IDEと統合するCI / SCMオプションを確認する必要があります(たとえば、HudsonにはSurroundモジュールがあり、その逆も同様です)。 。共有ライブラリのことは機能しますが、FlashはどこでもFlashであるため、個別のプロジェクトの分割を増やす必要はないと思います。フル機能のCIは、コンパイラの違いを非常に効果的に管理できます。
現在IOSAppStoreに存在し、間もなくAndroidとWebでリリースされる大規模なモバイル/Webプロジェクトにこのアプローチの組み合わせを使用しています。
AppStore統合、ソーシャルメディア機能、ネットワークモニタリング、通知、アプリ間通信などに、商用、オープンソース、自家製のANEを使用しています。
(私はmilkmangamesとは提携していません)
私は現在、インテントを使用してアプリ間通信を処理するためのAndroidANEを作成しています。これは私がオープンソーシングしているプロジェクトです:
https://github.com/interactivenyc/ANESampleProject。
私は現在そこで問題に悩まされており、誰かがそのプロジェクトをフォローすることに興味があるなら、詳細を含む質問をすぐに投稿する予定です。プロジェクトのセットアップは、プロジェクトのフロントページに表示されるReadMeファイルでかなりよく説明されています。
バージョン管理にgitを使用する場合は、サブモジュールを確認してください。私はそれを使用してすべてを1つのプロジェクトに保持しましたが、各モジュールを個別にバージョン管理すると、優れたソリューションが得られました。