【问题标题】:Difference between 1 language vs 2 languages for Mobile APP移动应用程序的 1 种语言与 2 种语言之间的区别
【发布时间】:2012-07-06 05:47:32
【问题描述】:

对于移动应用程序,我知道它们可以在 Android 上用 Java 编写,在 iPhone 上可以用 Objective C 编写。有人简短地向我提到,实际上最好使用 C# 语言在不同手机上为应用程序使用一种通用语言。他暗示对于 Android 和 iPhone 上的应用程序来说,一种语言总是更好,但我知道这听起来好得令人难以置信。

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

两者的优缺点是什么?

【问题讨论】:

    标签: c# java android iphone objective-c


    【解决方案1】:

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

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

    【讨论】:

    • 对于 1 种语言,除了可以在任何地方运行的相同代码之外,还有其他优点吗?一种语言是否有可能具有某些优势或有时更快?我确实记得这位同行提到过用一种语言处理数据实际上更有效。
    • 相反,如果您追求速度、性能和流畅性,您应该使用特定平台的本地语言,而不是通用语言。
    • 让我们假设我拥有两个选项所需的所有资源和时间。用每种受人尊敬的母语编写应用程序总是最好的选择吗?
    • 如果你有资源,那么是的,用母语编写应用程序是最好的选择。但显然拥有这些资源是问题所在,因为在现实世界中你很少拥有它们,这就是为什么存在通用框架以降低开发成本的原因:-)
    • 每种语言都有其特定的功能。因此,在一般情况下,你用一种语言实现的所有东西,你都可以用另一种语言实现,这是不正确的。但是出于应用程序的目的,我想无论使用哪种语言,您都可以实现非常接近的功能。当然,这是主观的,取决于具体情况,如果您想要更准确的答案,您必须提出具体问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-19
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    相关资源
    最近更新 更多