私は .NET 開発者 (現在 6 年以上) で、モバイル/スマートフォン/タブレットの開発について学び始めたばかりです。論理的には、私 (そしておそらく他のすべての人) は、作成したアプリケーションをすべてのスマートフォン プラットフォームで実行できるようにしたいと考えています。通常のユーザー (素人) の観点からは、それが「モバイル アプリ」である場合、モバイル デバイスで実行する必要があるのは当然のことです。iPhone と Android のどちらを所有しているかは関係ありません。モバイル アプリはモバイル アプリです。注: ブラウザーから使用できる HTML/Web アプリではなく、ネイティブ プラットフォームの開発について話している。
したがって、これは大まかな概要の質問にすぎません... この問題に対処するための現在の戦略 (2013 年時点) は何ですか? モバイル クロス プラットフォーム開発の仕組みは、おそらくアプリのビジネス ロジックを実装する単一の共通コード ベースがあり、ターゲット プラットフォームごとに GUI 部分を個別に開発する必要があると思います。これは実際には真実からどのくらい離れていますか?
人気ゲーム「Angry Birds」を例にとってみましょう。iPhone、Android、さらには Windows デスクトップの Chrome ブラウザーから (おそらく Flash または HTML5 ゲームとして) プレイしましたが、各バージョンのプレイ感はほぼ同じでした。彼らはどうやってそれをしたのですか?共通コードとしてゲームエンジンを持っていると思いますが、それは何語で書けるのでしょうか?私の知る限り、単一のソース コード ファイルを指定して、ios/android/win8 phone のネイティブ バイナリにコンパイルできる共通のプログラミング言語はありません。