是否可以使用Lua开发Android应用程序?

时间:2012-08-02 22:04:23

标签: android lua

所以我读了this article on Mobile Orchard,因为我正计划在Android开发中迈出第一步,它让我想到:是否有可能只在Lua中为Android开发?我用Google搜索了主题,但没有找到明确的答案。我知道Java是Android的“基本风格”,但对于我的编码新手(基本的Python,基本的C ++),Lua似乎更清晰,更友好。然后我的问题是:只能使用Lua开发Android应用吗?如果是这样,你能否告诉我一些从这里开始的方向?

7 个答案:

答案 0 :(得分:15)

我一直在Lua开发移动应用程序,以便从iOS和Android手机远程控制机器人。该应用程序位于纯Lua中,使用Mosync platformMobileLua之上运行。仍然需要一些管道,但它并不太复杂。

我还有一个debugger和一个Lua IDE(ZeroBraneStudio),它支持调试远程运行的Lua脚本(包括在Android或iOS设备上运行的MobileLua脚本)。我提供了一个demo app,您可以将其用作客户端来运行简单的脚本并检查远程调试的运行情况。

[更新]如果您对更多面向游戏的选项感兴趣,可以使用以下几种:(1)已经提到Corona SDK,(2)Moai和(3)Gideros Mobile 。还有Marmalade Quick和Cocos2d-x Lua绑定(例如,quick-cocos2d-x)。所有这些工具包/框架都允许在Lua中开发。

以下是Moai vs. Corona的详细比较。

答案 1 :(得分:7)

我知道这是一个较老的问题,但为了纠正一些错误信息(在评论中),以后来的人,Corona SDK(截至2013年春季)有一个免费的简化版 - 没有闪屏或任何东西。它与“Pro”版本之间的主要区别在于您无法在简化版中进行应用内购买。但您可以使用它来创建待售的应用程序等。没有过期日期或其他任何内容。

回答最初的问题,学习Java可能会让你编写Android应用程序,但如果你还想要定位iOS,你就没有什么好的选择。通过从一开始就选择跨平台的东西,您可以定位Android或iOS或两者。 Lua(已经提到的任何一种风格)是学习移动开发的一种很好的基础语言。

答案 2 :(得分:6)

问题是你想要建立什么样的应用程序以及你有什么技能。如果您已熟悉JavaScript,则有Phonegap / Cordova。如果您正在构建游戏,那么有许多使用Lua的2D和3D框架。有些是免费的,有些是免费的,但如果它能解决您的问题,那么它们是值得的。一切都有利有弊。例如,我不确定是否要在游戏框架中构建RSS阅读器。 Java只是另一种语言,我建议只学习Java和Android框架,以便在添加另一个特定于应用程序的框架层之前启动并了解其中的内容。

答案 3 :(得分:3)

Corona SDK允许您在Lua中编写iOS和Android应用程序。它很容易学习,但它不是免费的。 编辑: 我看到你发帖说你在我寄出帖子后发现了Corona ......

答案 4 :(得分:2)

您可以尝试http://scormpool.com/luastudio 在您的设备上开发和运行代码,包括iOS,Android,Mac,Win。

导出器可以帮助您在上面列出的平台上制作独立的应用程序。

答案 5 :(得分:0)

这可能对OP没有用,但对于其他有兴趣使用lua编写应用程序的人,我会分享我的想法。所以回答这个问题:

是的,你可以只使用lua使用来自kepler项目的LuaJava为Android编写应用程序(虽然我不相信它会被维护)。您可以无缝地创建和操作Java对象,并通过lua与Android API交互。您甚至可以使用lua动态创建UI元素。但是,从您的应用程序启动lua VM需要少量的java引导代码。 AndroLua项目是开始使用Android的好地方。创建者做了很多工作,让lua与Android合作并将其全部打包到应用程序中。根据经验,我可以说它很棒!但是,我绝不会向初学者推荐这个,因为它需要很多关于java lua的知识来使事情有效,这意味着更多的工作而不是更少。

对于AndroLua,只需克隆回购并将其作为您自己应用的基础。上次我使用它时,我只是将它导入到android-studio中,在用我自己的设置修复了一些问题之后,让它在我的设备上进行编译和运行。

答案 6 :(得分:0)

如果只有纯Lua那么答案是否定的......除非你想使用很多库

如果您想制作小型Android应用程序/游戏然后使用游戏引擎,学习是一步一步的过程,不要直接深入到困难的部分。