2012-07-06 64 views
0

对于移动应用程序,我知道它们可以用Java for Android和Objective C for iPhone来编写。有人向我简单地提到,实际上使用一种通用语言在不同手机上使用C#语言更好。他暗示说,一种语言对于Android和iPhone上的应用程序总是更好,但我知道这听起来太好了。移动应用程序的1种语言与2种语言的区别

在两种不同类型的手机上使用两种不同语言(java/objective c)的应用程序与两种手机上的应用程序的一种语言(c#)有什么区别?

两者的优缺点是什么?

回答

4

每个平台都有自己的官方语言和SDK来开发原生应用程序。它是支持的语言和SDK,所以如果你使用这种本地语言,你将获得所有的功能,将会是最新的,并且你的应用程序将运行得最快(除非你写了垃圾代码,但这是开发者永远不会做的事情,所以我们可以安全地排除这个假设)。

有一些框架(例如Xamarin)允许您使用相同的语言编写应用程序并在多个平台上运行它。优点是显而易见的=>相同的代码运行无处不在。缺点是这些框架通常不支持某些特定平台的独特功能,因为这些功能在其他平台上不存在。此外,由于C#和平台的目标本地语言之间存在自动翻译,因此在翻译过程中可能会出现一些问题。

+0

除了它是在任何地方运行的相同代码之外,是否还有其他的1种语言的优点?有没有可能一种语言可能有某些优点或有时会更快?我记得这位同事提到,处理数据实际上在1种语言中效率更高。 – krikara 2012-07-06 05:57:21

+2

相反,如果您正在寻找速度,性能和流畅性,您应该使用特定平台的本地语言,而不是通用语言。 – 2012-07-06 05:58:13

+0

让我们假设我拥有两种选项所需的全部资源和时间。以每种受尊重的母语编写应用程序始终是最佳选择? – krikara 2012-07-06 06:00:14