成为移动开发者,C#和Java哪个技术更好?

3

我是一名计算机工程学生,希望尽快选择自己的职业方向。使用C#语言,我能开发出什么样的东西呢?


5
记住编程的基础比你学习的平台/语言更重要。在长时间的职业生涯中,你可能需要学习许多语言。我目前编写Android、Blackberry、iOS和JavaScript的SDK。归根结底,这都是基本的编程,唯一的巨大区别就是在参考手册上的标识。祝你的课程好运! - eSniff
7个回答

3

Windows Phone 7的整个开发平台都是基于.NET和C#构建的,所以你可以使用它作为你的目标移动操作系统。Java可以让你开发Android应用,而iPhone则几乎需要Objective-C。当然,你可以在某种程度上解决这些问题,但总体而言,如果你选择学习C#,则你将主要针对Windows Phone 7进行开发。


1
你忘记在Java旁边添加黑莓和诺基亚(Symbian)了。 - Shawn Mclean
2
MonoTouch为iPhone和iPad提供了C#选项,虽然不是免费的,但这是一个选择。http://monotouch.net/ - Chris Taylor

2
很多答案在这里都表明C#只适用于Windows Mobile/CE,这是不正确的。除了针对Windows Mobile和手机7进行目标设置外,C#还可通过MonoTouch针对iPhone以及通过MonoDroid针对Android进行目标设置,因此这些才是主要竞争对手。

谢谢您的详细解释。我想尽快学习C#。MonoTouch和MonoDroid难学吗?(我的意思是需要花费很多时间吗?) - coderMonkey

1

C#与mono/.net覆盖了Windows Phone 7、Android和iPhone。一旦你掌握了这门语言和平台,学习Java以增加你的技能库。


1

如果你想成为一名移动开发者,直接为公司创造价值,那么学习Java或Objective-C是很有必要的。C#也可以,但Android和iOS比Windows Mobile 7拥有更大的市场份额。

成为这些语言中任何一种的专家都将是一个良好的长期职业规划。


1
“Android和iOS的市场份额比Windows Mobile 7大得多” - 是的,但是当Windows Phone 7仅推出2天时,这并不意味着太多。虽然我不指望WP7很快就能取代它们,但在一年的时间里,它很容易成为一个非常重要的竞争者。 - Jon Skeet

0

我认为你最好选择Java。因为现在许多手机都支持J2ME。J2ME不需要高成本配置。J2ME是Java家族的一员,具有许多Java优势。除了移动设备之外,许多其他设备如家用电器、机顶盒等也支持J2ME。因此,J2ME有着广阔的未来。所以选择Java/J2ME吧。


0

不可以。你只能在Windows Mobile上使用C#。Java只能在Android API(与J2SE有些相似)的形式下在Android上运行,在Blackberry、Windows Mobile和Android上则以J2ME的形式存在。

如果你想编写移动应用程序,你需要决定要为哪些平台编写,并学习每个平台的语言和API。有一些高级语言可以在大多数移动平台上运行(如Adobe AIR),但根据你的应用程序,这可能不是一个合适的选项。


抱歉,我不得不指出,在C#方面,它只能在Windows Mobile上运行这一说法是事实上错误的。 - Marc Gravell

0
不同的移动平台需要不同的编程语言,未来的平台很可能需要甚至不存在的语言。
你最好选择一种语言/平台进行专注,同时预计在职业生涯中需要学习其他语言/平台。事实上,你很可能会从事其他类型的开发,除了移动计算开发。
(顺便说一下,我已经在IT行业工作了30多年,到目前为止我已经使用了20多种编程语言……还遇到了许多其他的语言。你只需要应对它。)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接