我应该学习用于移动应用程序开发的Java还是C#会做?


9

我期待深入研究.NET框架,但大多数移动应用程序似乎都是用Java开发的。我很可能会针对价格较低的手机,例如诺基亚和摩托罗拉,而不是android或iphone OS。我可以在C#中做这些东西吗?

java  c#  mobile 

Answers:


9

不,C#不会。您需要学习Java,而不是J2SE,但需要学习J2ME,因为大多数低端手机仅支持J2ME。但是,您可能想再次考虑使用Android,因为即使在低端手机中,它也确实很流行。无论如何,J2ME和Android的语言都是Java。


7

取决于平台-

安卓-JAVA,C#(通过MonoDroid)iPhone-
目标C,C#(通过MonoTouch)
Windows Phone-C#(Silverlight)
Meego-C ++(QT)
Symbian-C ++,JAVA

我认为大多数公司都会放弃Symbian。智能手机是未来。对于每种类型的智能手机操作系统,C#/ mono以及本机平台语言都将可用(您必须支付额外费用,但值得使用)。因此,您可以使用C#。

可能无法实现真正​​的平台独立性,但是,如果您在任何地方都使用C#,则将能够使用相同的核心库并调整平台的UI。

但是对于低成本手机,C#不会。你必须去JAVA。


1
+1代表提及Mono *选项。如果开发人员的需求足够高,那么他们也将扩展到其他电话平台。
Agent_9191 2010年

同意Mono开发人员在Novell拆分之前就提到了WebOS支持,所以您永远不会知道!
威尼娅

1

不能具体讲述Motorolla或Nokia,但您需要记住这些手机支持的平台。您最好使用Java开发,因为它是一个更流行的平台,并且不必仅依赖于Windows移动设备。C#更贴近Java了,交叉编译器为Desktop应用程序提供了诀窍,这也许也适用于移动应用程序。


1
我想看一下这个Cross Compiler-它如何处理语言随附的库非常不同的事实?
贝文

1

如果您想为Windows Phone 7开发,则C#非常完美(即将推出VB.NET。)您也可以利用您所拥有的任何Silverlight或XNA知识。我不知道该平台是否会成功,但是为什么不使用自己熟悉的语言来优化您的应用程序,一旦对用户体验,逻辑,计算等有信心,就将其移植到其他语言?该仿真器显然非常好,并且可以通过加速计仿真器和gps仿真器进行补充,以完成除拨打电话之外的所有操作。(实际上,谁在使用智能手机打电话?)


我通常会同意,但是OP表示他“期待深入研究.NET框架”,因此我不确定他对C#的熟悉程度。正如我所喜欢的语言一样,Windows Phone的市场似乎有些呆滞。
戴维

1

我开始用Java编写具有C#经验的Android应用程序。我发现该语言的许多基本概念是相似的,因此这仅仅是学习一些差异的问题,尤其是对于库。如果您可以学习,则用另一种编码非常简单(根据我的经验)。

我建议从Java开始。Android有望成为最受欢迎的移动操作系统,因此您一定会知道它会出现一段时间。另外,Java较旧,因此有无数的库和教程供您使用和学习。一旦了解了Java的核心概念,学习C#就会变得轻而易举-并且,您将真正欣赏C#必须提供的一些简洁功能(例如属性和LINQ)。

免责声明:我从C#开始(主要用于ASP.NET MVC Web开发),然后学习了用于编写Android应用程序的Java。我还没有使用C#进行任何移动编程,所以我无法告诉您它是什么样的。


0

也许将此归类为“横向思考”,但是如果您在“纯”网络技术(HTML,JavaScript,CSS)方面具有不错的技能,并且根据要实现的目标,请查看类似PhoneGap(http:// www .phonegap.com / about)。除了支持iOS设备(iPhone,iPad)和Android,它们还对Symbian提供了一些支持。但是,通常将需要“本机”工具来构建本机二进制应用程序。例如,如果您想从事iPhone开发,则需要iPhone SDK,XCode并运行OSX。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.