Lua和Java在Android上的强度是否相同,或者是否存在任何限制?

所以我一直在尝试进入Android应用程序开发,任何教程都说Java是Android开发的“主要”语言。我还发现Lua也可以使用。我的问题是,Lua能制作出与Java同等级的应用程序,还是应该学习Java?

问题是,我发现Lua在所有资料中都被提到作为辅助语言,然后我发现用Corona SDK制作的应用程序主要是用于游戏。所以普通的应用程序也可以开发,还是应该学习Java?

我的意思是问用LUA制作的应用程序的质量是否可以与用Java制作的应用程序一样好,或者只能用LUA制作较简单和不太先进的应用程序?基本上我的意思是,当涉及到为Android编程时,LUA是否提供相同的功能和特性?

我将制作像CCleaner、uTorrent等应用程序,而不是游戏。我也有C的背景。

非常感谢您的回答。

点赞
用户4298733
用户4298733

我会说,请尝试两种语言并选择你最舒适的那个。

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

另一个非常有趣的Lua框架是LÖVE(或Love2D)。它越来越受欢迎,因为很多人用它进行游戏原型设计(比赛)甚至更大的项目(看看Kickstarter上的Wanderer)。

虽然LÖVE只有官方的桌面版本(OS/X、Windows、Linux),但其社区已经制作了端口,可以让你导出到许多其他平台。这些包括iOS、Android、Windows Phone,甚至便携式游戏机如3DS和PS Vita。你可以编写你的应用程序一次并导出到所有这些平台。

LÖVE是用C/C++编写的,完全开源。如果你有C背景,你将能够实现新的功能,如果你觉得缺少了什么。

我强烈推荐你在https://love2d.org上查看它。

2015-12-21 11:19:59
用户830098
用户830098

实际上,关键不在于 Lua 是否提供了相同的功能和特性,而是要问 CoronaSDK 是否提供了相同的功能和特性。

这不是关于语言,而是框架。

使用原生 (Java) 总是具有最佳性能。CoronaSDK 是在其基础上构建的库。它没有所有的功能和特性。因此,如果您想通过 CoronaSDK 构建与原生应用程序相同等级(性能/特性)的应用程序,则无法实现。

但这并不意味着您不能通过 CoronaSDK 制作出好的应用,因为要考虑到很多因素,一个应用是否好都需要。

我使用 CoronaSDK 已经有将近 2 年了,但现在我正在学习 Swift 为 iOS 构建原生应用。我转向 Swift 的原因与您的担忧完全相同。CoronaSDK 不能构建与原生应用相同等级的应用程序。我需要很多复杂的功能,而 CoronaSDK 没有提供。另外,我想要最佳性能。

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

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

2015-12-21 14:56:09