私は最近、C# を学び、Xamarin で C# を使用してモバイル アプリを開発することにしました。特に Windows Phone と Android の開発向けです。Windows Phone アプリの開発はほとんどが C# であり、Xamarin は Android 用のネイティブ コードをコンパイルできることは知っていますが、Java でのネイティブ開発と比べてどうですか? Xamarin を使用して、Android SDK と拡張機能のすべてまたは少なくともほとんど (90% 以上) を使用できますか?
3 に答える
考慮すべき主なことは、あなたの好みのプログラミング言語(あなたの場合はC#)とそれを使用することです。Java とは対照的に C# でアプリを構築するときに私が懸念する唯一のことは、Java の場合ほど多くのサードパーティ参照を使用できないことです。新しい機能を実行する方法を学ぶために、サンプル ファイルをダウンロードしてそれらをリバース エンジニアリングする必要があることに気付くでしょう。何かの Java ベースのサンプルしか見つからない場合、何かが何を使用しているかを見つけるために、はるかに多くのインテリジェンスを検索する必要があります。ただし、最初の文字が大文字になっていることを除いて、通常はJavaと同じメソッドであることがわかります。LINQ は、Java では利用できないデータ操作で私が見つけた大きな利点です。
何を選んでも頑張ってね、ジェームズ
Android Java API の Xamarin C# カバレッジの統計や調査は行いませんでしたが、私の仕事では、コードを Java から C# に移植するときに必要なものはすべて揃っていました。また、Xamarin によると、新しい Android SDK のリリースでは、通常 24 時間以内に対応する C# がリリースされます。また、@dotToString が指摘したように、Java jar ライブラリを Xamarin C# プロジェクトに追加し、必要に応じてそれらを呼び出すことができます。
パフォーマンスは別の問題です。Android でネイティブに動作するとは思えません。むしろ、Mono ランタイムが何らかの形でバイト コードを解釈しています。実際のコードで Java と Xamarin C# のコード パフォーマンスを比較しました。詳細については、次を参照してください。
Xamarin C# と Java で記述された Android アプリのパフォーマンスを比較するベンチマーク (コードと結果) を持っている人はいますか?
グレッグ