モバイルアプリケーション開発のためにJavaを学ぶべきですか、それともC#だけで学べますか?


9

.NETフレームワークを掘り下げるのを楽しみにしていますが、ほとんどのモバイルアプリケーションはJavaで開発されているようです。私はおそらくAndroidやiphone OSではなく、NokiaやMotorollaのようなより安価な電話をターゲットにするでしょう。これらのものをC#で実行できますか?

java  c#  mobile 

回答:


9

いいえ、C#ではできません。ほとんどのローエンド携帯電話はJ2MEしかサポートしていないため、J2SEではなくJavaを学ぶ必要があります。ただし、Androidはローエンドの携帯電話でも非常に人気が高まっているため、もう一度検討することをお勧めします。とにかく、J2MEとAndroidの言語はどちらもJavaです。


7

プラットフォームに依存

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に行かなければなりません。


1
Mono *オプションについて言及する場合は+1。開発者からの需要が十分に高い場合、開発者は他の電話プラットフォームにも分岐します。
Agent_9191 2010年

Mono開発者は、Novellが分割される前にWebOSのサポートについて言及しているので、決して分からないことに同意してください!
wonea

1

Cantは特にMotorollaまたはNokiaについて語っていますが、これらの電話のサポートプラットフォームを覚えておく必要があります。より人気のあるプラットフォームであり、Windowsモバイルのみに依存する必要がないため、Javaでの開発をお勧めします。C#が恥ずかしさもなくJavaに近いので、クロスコンパイラーはデスクトップアプリのトリックを実行します。これはモバイルアプリにも当てはまるかもしれません。


1
このクロスコンパイラを確認したいのですが、言語に対応するライブラリが非常に大きく異なるという事実をどのように処理しますか?
Bevan

1

Windows Phone 7向けに開発したい場合は、C#が最適です(VB.NETは近日提供予定です)。SilverlightまたはXNAの知識も活用できます。プラットフォームが成功するかどうかはわかりませんが、知っている言語を使用してアプリを改良し、ユーザーエクスペリエンス、ロジック、計算などに自信が持てたら、他の言語に移植してみませんか?エミュレーターは明らかに非常に優れており、加速度計エミュレーターとgpsエミュレーターを追加して、電話をかけること以外のすべてを行うことができます。(そして、本当に、誰が電話をかけるのにスマートフォンを使用していますか?)


私は通常同意しますが、OPは「.NETフレームワークを掘り下げることを楽しみにしていた」と述べたので、彼がすでにC#にどれほど精通しているかはわかりません。また、私がこの言語を気に入っているのと同様に、Windows Phoneの市場も少し不振に思えます。
Davy8

1

C#の経験があるJavaでAndroidアプリを書き始めました。言語の基本的な概念の多くは類似していることがわかったので、特にライブラリに関しては、いくつかの違いを学ぶだけの問題でした。学ぶことができれば、他のコーディングは非常に簡単です(私の経験に基づくと)。

Javaから始めることをお勧めします。Androidは、最も人気のあるモバイルOSになる道を歩んでいるので、しばらくは間違いなく存在するでしょう。また、Javaは古いため、無数のライブラリーやチュートリアルを使用して学習することができます。Javaのコアコンセプトを理解したら、C#の学習は簡単です。C#が提供する必要のある機能(属性やLINQなど)のいくつかを本当に理解できるでしょう。

免責事項:私はC#(主にASP.NET MVC Web開発用)から始め、Androidアプリを作成するためのJavaを学びました。C#でモバイルプログラミングを行ったことがないので、どのようなものかはわかりません。


0

「側面的思考」の下でこれを提出することもできますが、「純粋な」Webテクノロジー(HTML、JavaScript、CSS)に十分なスキルがあり、達成しようとしていることに応じて、PhoneGap(http:// www .phonegap.com / about)。iOSデバイス(iPhone、iPad)およびAndroidのサポートに加えて、Symbianのサポートもいくつかあります。ただし、ネイティブバイナリアプリをビルドするには、通常「ネイティブ」ツールが必要です。たとえば、iPhone devを実行する場合は、iPhone sdk、XCodeが必要で、OSXを実行している必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.