代码之家  ›  专栏  ›  技术社区  ›  BDuelz

Python还是Java?什么对移动开发和GUI应用程序更好?

  •  0
  • BDuelz  · 技术社区  · 16 年前

    我知道Python应用程序的编写速度更快,但Java似乎是移动和GUI开发的800磅大猩猩。

    有没有运行Python的移动平台,或者我应该走Java路由?

    3 回复  |  直到 16 年前
        1
  •  2
  •   Bill K    16 年前

    Java当然可以在更多的平台上使用。我将选择一个目标平台(或一组目标),并查看哪些语言需要最少的冗余实现。

    而且,当你达到某种程度的复杂性时,语言往往不会影响速度。对于最初的原型,当然有些语言的开发速度非常快,但是当你处理了所有的异常情况,并且由于QA的原因使整个进度增加了三倍时,你会发现原型开发速度并不是那么重要。

    当然,根据应用程序的复杂性,这可能被证明是不真实的——一个简单的小应用程序可以在“原型时间”附近交付。

        2
  •  1
  •   Dave Kirby    16 年前

    谷歌已经发布了 Android Scripting Environment (ASE) 它允许您用各种脚本语言(包括python和ruby)编写Android程序。然而,目前没有办法发布用这些语言编写的应用程序,尽管有传言说谷歌正在开发它。

    一般来说,移动设备最大的资源限制是电池电量。由于动态解释语言通常具有比静态类型语言更高的CPU开销,所以Python程序将是比Java等效的更大的电池消耗。

    在此之上,您需要将整个Python运行时带到程序中,而Java运行时将已经包含在设备上。这意味着更多的内存开销-移动设备上的另一个稀缺资源。

    至少目前,我不会使用python或类似的脚本语言来进行严格的Android开发——它可以用于快速原型设计,但不能用于生产质量高的应用程序。我的心情很沉重,因为我喜欢Python,非常讨厌Java。一个可能的妥协是Scala——它是静态类型的,但是使用类型推断来消除Java的很多开销,并且感觉更像Python来开发。与Python一样,它也是一种混合面向对象和功能语言(不像Java,它是对象迷失方向和功能不正常)。有 a lot of people experimenting 将Scala用于Android开发,因为它编译成与等价Java代码一样高效的Java类文件。

    我不知道iPhone的情况是什么——考虑到苹果公司禁止iStore携带应用程序,写了任何其他官方批准的语言,我认为这不太可能适合。

    我知道有一个针对WindowsMobile的Python版本,但同样,Afaik也无法将Python程序打包成可发布的应用程序。

        3
  •  0
  •   Bill Seitz    16 年前

    第一个问题是你是否真的需要开发一个应用程序,它需要每个平台的工作,而不是一个webapp。

    如果您真的需要一个应用程序,那么您可能需要为每个平台分别使用一种语言!对于Android,你想使用Java,而对于iPi/iPad,你希望使用Objto-C。这是一个很好的理由,试图真正实现WebApp路由。