5

私は .NET 開発者 (現在 6 年以上) で、モバイル/スマートフォン/タブレットの開発について学び始めたばかりです。論理的には、私 (そしておそらく他のすべての人) は、作成したアプリケーションをすべてのスマートフォン プラットフォームで実行できるようにしたいと考えています。通常のユーザー (素人) の観点からは、それが「モバイル アプリ」である場合、モバイル デバイスで実行する必要があるのは当然のことです。iPhone と Android のどちらを所有しているかは関係ありません。モバイル アプリはモバイル アプリです。注: ブラウザーから使用できる HTML/Web アプリではなく、ネイティブ プラットフォームの開発について話している。

したがって、これは大まかな概要の質問にすぎません... この問題に対処するための現在の戦略 (2013 年時点) は何ですか? モバイル クロス プラットフォーム開発の仕組みは、おそらくアプリのビジネス ロジックを実装する単一の共通コード ベースがあり、ターゲット プラットフォームごとに GUI 部分を個別に開発する必要があると思います。これは実際には真実からどのくらい離れていますか?

人気ゲーム「Angry Birds」を例にとってみましょう。iPhone、Android、さらには Windows デスクトップの Chrome ブラウザーから (おそらく Flash または HTML5 ゲームとして) プレイしましたが、各バージョンのプレイ感はほぼ同じでした。彼らはどうやってそれをしたのですか?共通コードとしてゲームエンジンを持っていると思いますが、それは何語で書けるのでしょうか?私の知る限り、単一のソース コード ファイルを指定して、ios/android/win8 phone のネイティブ バイナリにコンパイルできる共通のプログラミング言語はありません。

4

3 に答える 3

6

残念ながら、ネイティブなルック アンド フィールを持ち、すべてのプラットフォームで同じコードを共有するクロスプラットフォーム アプリを開発する方法はありません。ただし、一部のプラットフォームでは一部のコードを共有できますが (たとえば、iOS と Android では C/C++ を使用できます)、アプリのロジック部分のみです。ネイティブ UI を取得するには、ネイティブ API を使用する必要があります。アプリに複雑なデータ処理が含まれていない場合、このアプローチには実際に役立つよりも多くの欠点がある可能性があります。

PhoneGap や Titanium などのハイブリッド アプリ プラットフォームを使用すると、プラットフォームの独立性をかなり高めることができますが、それには HTML/Javascript の開発が必要であり、ユーザー エクスペリエンスをネイティブ アプリの場合と多少似たものにするためには、多くの時間と労力が必要になる可能性があります。

于 2013-04-12T23:45:17.387 に答える
3

あなたは .NET Dev であるため、論理的な解決策の 1 つは、Xamarin の製品を使用することです。( http://xamarin.com/ ) バックエンド ロジックを一度開発してから、3 つの主要なモバイル プラットフォーム (iPhone/Android/WP) すべてにコンパイルできます。その後、このバックエンド ロジック プロジェクトを使用して、特定のプラットフォームごとに UI レイヤーを作成できます。

開発者が持っている別のオプションは、 PhoneGapと同様の javascript/html ルートを使用することです。私は最近これを見ていませんが、JS/HTML ルートに行くと、パフォーマンスの低下とハードウェアの使いやすさのギャップがありました。現在は改善されているかもしれません。

編集:Angry Birdsのようなゲームについて具体的に言及したので。Unityプラットフォームは、3D が必要な場合にほとんどのデバイスと互換性のある開発のための非常に優れたサポートを提供します。

特に Angry Birds では...彼らは物理演算にBox2Dを使用しています。私は 100% ではありませんが、Cocos2d を使用して要素を描画しているように見えます。

ゲームの構築を検討していて、Xamarin のアイデアが気に入った場合は、基本的に Mono Framework への XNA ポートのように見えるMonoGameをご覧ください。

于 2013-04-12T23:33:47.180 に答える
2

Jared の回答に加えて、今日の午後、Xamarin をテストしました。

あなたが .Net 開発者であり、既に Visual Studio を使用している場合は、とても幸運です。Xamarin にはextension for Visual Studio

xamarin について悪い印象を与えたいだけです。その時までに良いものをテストできます。ユーザー インターフェイスは xml ベースのファイルで作成され、オート コンプリートはありません。そのため、コード全体を記述するか、プロパティ ウィンドウを使用する必要があります。でもそのうち良くなると思います。素敵なコーディング

于 2013-04-12T23:52:03.460 に答える