【问题标题】:Is Lua same strength as Java on Android, or are there any limitations?Lua 在 Android 上是否与 Java 一样强大,还是有任何限制?
【发布时间】:2016-03-26 15:07:15
【问题描述】:

所以我一直在尝试进入 Android 应用程序开发,并且到处都有教程说 Java 是用于 android 开发的“主要”语言。而且我还发现Lua也可以使用。我的问题是,Lua 是否可以制作与 Java 相同级别的应用程序,还是我应该学习 Java?

问题是,我发现的所有内容都提到 Lua 作为第二语言,然后我发现 Lua 比 Java 更容易学习,但使用 Corona SDK 制作的应用程序主要用于游戏。那么普通的应用程序也可以开发,还是我应该去Java?

我的意思是,用 LUA 制作的应用程序是否可以与用 Java 制作的应用程序一样好,还是只能用 LUA 制作更简单和不太高级的应用程序?基本上我的意思是,在为 android 编程时,LUA 是否提供相同的功能和特性?

我会制作 CCleaner、uTorrent 等应用,而不是游戏。

我也有 C 的背景。

非常感谢您的回答。

【问题讨论】:

  • Lua 主要用作另一种语言的扩展,例如模块化组件。

标签: java android lua


【解决方案1】:

我会说,尝试两种语言并选择你最熟悉的一种。

但是,回答您的问题,您确实可以使用 Corona SDK 制作 Android(以及 iOS、Windows Phone)应用程序。它的 UI 库非常有效,可以让您构建您想要的各种应用。

另一个非常有趣的 Lua 框架是 LÖVE(或 Love2D)。随着许多人将其用于游戏原型设计 (jams) 甚至更大的项目(看看 Kickstarter 上的 Wanderer),它变得越来越流行。

虽然 LÖVE 仅官方提供桌面版本(OS/X、Windows、Linux),但其社区制作的端口也允许您导出到许多其他平台。其中包括 iOS、Android、Windows Phone,甚至是 3DS 和 PS Vita 等便携式游戏机。您可以编写一次应用并导出到所有这些平台。

LÖVE 是用 C/C++ 制作的,并且是完全开源的。这就是说,如果您有 C 背景,如果您觉得缺少某些东西,您将能够实现新功能。

我强烈建议您查看https://love2d.org

【讨论】:

  • 问题是...... UI 非常重要,但它并不是应用程序中的一切,所以如果一个 SDK(我在这里泛指)让我构建出色的 tableviews 但我无法制作PayPal 支付(我的应用需要这个功能),我不能选择这个 SDK。这是一个很宽泛的问题,不容易回答,涉及到几十个变量。
  • 正如我提到的,后面都是C。这使您可以添加您认为缺少的所有功能,并且您可以通过这种方式添加对 Paypal 的支持。除此之外,老实说,我不认为 LÖVE 支持 Paypal,但您可以使用 Corona SDK 轻松使用它:请参阅forums.coronalabs.com/topic/…
  • 我不是在谈论 LOVE 或 Corona,只是在选择之前验证您可以做什么 :-) 据我所知,如果您拥有 Enterprise,Corona SDK 可以让您做很多有趣的事情许可证 (coronalabs.com/products/enterprise)
  • 好吧,如果我可以用 C 完全构建应用程序,那将是非常棒的,因为我不必学习新语言,我会确保检查该框架。
  • Lua 很容易学习,你永远不会想退出。 C/Lua 是一个成功的组合。
【解决方案2】:

其实这与 Lua 是否提供相同的功能和特性无关。您应该询问 CoronaSDK 是否提供相同的功能和特性。

这与语言无关,而与框架有关。

使用本机 (Java) 始终具有最佳性能。 CoronaSDK 是一个建立在它之上的库。它不具备所有功能和特性。因此,如果您想通过 CoronaSDK 构建与原生应用程序相同等级(性能/功能)的应用程序,您不能。

但这并不意味着你不能通过 CoronaSDK 制作出好的应用,因为如果一个应用好的话,还有很多事情需要考虑。

我已经使用 CoronaSDK 将近 2 年了,但现在我正在学习 Swift 来构建适用于 iOS 的原生应用程序。我转向 Swift 的原因与您的担忧完全相同。 CoronaSDK 无法构建与原生应用相同等级的应用。我需要许多复杂的功能,但 CoronaSDK 不提供。而且,我希望有最好的表现。

但是,如果我想构建 2D 游戏,我仍然会使用 CoronaSDK,因为它确实具有构建快速原型的能力,而且对于大多数游戏来说,CoronaSDK 涵盖了您需要的大部分功能,并且总体上可以更快地构建。

因此,如果您的主要目的是构建业务应用程序,我会说是原生的(在您的情况下是 Java)。而如果你想构建 2D 游戏,CoronaSDK 是一个不错的选择。学习 Lua 非常容易,您可以更快地构建游戏,至少在开始时是这样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-07
    • 2020-11-02
    • 2016-11-16
    • 2018-12-08
    • 2014-08-27
    • 2011-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多