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