.NETフレームワークを掘り下げるのを楽しみにしていますが、ほとんどのモバイルアプリケーションはJavaで開発されているようです。 Androidまたはiphone OSではなく、NokiaやMotorollaのようなより安価な電話をターゲットにすることになるでしょう。C#でこれらのことを行うことはできますか?
いいえ、C#ではできません。ほとんどのローエンド携帯電話はJ2MEのみをサポートしているため、J2SEではなくJavaを学ぶ必要があります。ただし、Androidは、ローエンドの携帯電話でも人気が高まっているため、もう一度検討することをお勧めします。とにかく、J2MEとAndroidはどちらもJavaです。 。
プラットフォームに依存
Android-Java、C#(MonoDroid経由)
iPhone-Objective C、C#(MonoTouch経由)
Windows Phone-C#(Silverlight)
ミーゴ-C++(QT)
Symbian-C++、Java
Symbianはほとんどの企業によって落とされると思います。スマートフォンは未来です。また、あらゆるタイプのスマートフォンOSで、ネイティブプラットフォーム言語に加えて、C#/ monoが利用可能になります(追加料金を支払う必要がありますが、その価値はあります)。したがって、C#を使用できます。
真のプラットフォームの独立性は達成されない可能性がありますが、C#をどこでも使用する場合は、同じコアライブラリを使用して、プラットフォームのUIを調整できます。
しかし、低価格の電話では、C#は機能しません。あなたはJavaに行かなければなりません。
Windows Phone 7向けに開発したい場合は、C#が最適です(VB.NETは近日提供予定です)。SilverlightまたはXNAの知識も活用できます。プラットフォームが成功するかどうかはわかりませんが、知っている言語を使用してアプリを改良し、ユーザーエクスペリエンス、ロジック、計算などに自信が持てたら、他の言語に移植してみませんか?エミュレータは明らかに非常に優れており、加速度計エミュレータとgpsエミュレータを追加して、電話をかけること以外のすべてを行うことができます。 (そして、本当に、誰が電話をかけるためにスマートフォンを使用していますか?)
私はAndroidアプリのJava以前にC#の経験がある)を書き始めました。言語の多くの基本的な概念は類似していることがわかりました。特にライブラリを使用して、いくつかの違いを学習します。学習できる場合、他のコーディングは非常に簡単です(私の経験に基づく)。
Javaから始めることをお勧めします。 Androidは、最も人気のあるモバイルOSになる予定です。そのため、しばらくは間違いなく存在します。また、Javaは古いので、無数のライブラリとチュートリアルを使用して学習できます。Javaのコアコンセプトを理解すれば、C#の学習は簡単です-そして、C#が備えている優れた機能(属性やLINQなど)のいくつかに本当に感謝します提供する。
免責事項:私はC#(主にASP.NET MVC Web開発用)から始めて、Java執筆のためにAndroidアプリ。モバイルをまだ行っていません。 C#でプログラミングしているので、それがどのようなものかはわかりません。
Cantは特にMotorollaまたはNokiaについて語っていますが、これらの電話のサポートプラットフォームを覚えておく必要があります。より人気のあるプラットフォームであり、Windowsモバイルのみに依存する必要がないため、Javaでの開発をお勧めします。もう1つ、C#はJavaに恥ずかしくないほど近いので、クロスコンパイラーはデスクトップアプリのトリックを実行しますが、これはモバイルアプリにも当てはまる可能性があります。
「側面的思考」の下でこれを提出することもできますが、「純粋な」Webテクノロジー(HTML、JavaScript、CSS)にかなりのスキルがあり、達成しようとしていることに応じて、PhoneGap(http:// www .phonegap.com/about)。 iOSデバイス(iPhone、iPad)とAndroidのサポートに加えて、Symbianのサポートもいくつかあります。ただし、ネイティブバイナリアプリをビルドするには、通常、「ネイティブ」ツールが必要です。たとえば、iPhone開発を行う場合は、iPhone SDK、XCodeが必要で、OSXを実行している必要があります。