我阅读了Mobile Orchard上的这篇文章,由于我计划开始学习Android开发,它让我考虑:是否可能仅使用Lua来开发Android应用程序?我在谷歌上搜索了这个话题,但没有找到明确的答案。我知道Java是Android的“基本风格”,但对于像我这样的编程新手(初级Python,基本C ++),Lua似乎更清晰、更友好。那么问题来了:是否可以仅使用Lua来开发Android应用程序?如果可以,请指导我从哪里入手?
我阅读了Mobile Orchard上的这篇文章,由于我计划开始学习Android开发,它让我考虑:是否可能仅使用Lua来开发Android应用程序?我在谷歌上搜索了这个话题,但没有找到明确的答案。我知道Java是Android的“基本风格”,但对于像我这样的编程新手(初级Python,基本C ++),Lua似乎更清晰、更友好。那么问题来了:是否可以仅使用Lua来开发Android应用程序?如果可以,请指导我从哪里入手?
我一直在使用Lua编写移动应用程序,用于从iOS和Android手机远程控制机器人。该应用程序是纯Lua编写的,运行在Mosync平台上,使用MobileLua。还需要进行一些工作,但不太复杂。
我还拥有一个调试器和一个支持远程Lua脚本调试(包括在Android或iOS设备上运行的MobileLua脚本)的Lua IDE(ZeroBraneStudio)。我提供了一个演示应用程序,您可以将其用作客户端来运行简单的脚本并检查远程调试的情况。
[更新]如果您对更多以游戏为导向的选项感兴趣,可以选择以下几种:(1)前面提到的Corona SDK,(2)Moai,以及(3)Gideros Mobile。还有Marmalade Quick和Cocos2d-x Lua绑定(例如quick-cocos2d-x)。所有这些工具包/框架都允许使用Lua进行开发。
这里有一个详细的比较:Moai vs. Corona。
Corona SDK 允许你使用 Lua 编写 iOS 和 Android 应用程序。它非常易于学习,但是它不是免费的。
编辑:我看到你发了一条帖子说你在发送我的帖子后找到了 Corona...这对于楼主可能没有用处,但对于其他有兴趣使用lua编写应用程序的人,我想分享我的想法。所以回答问题:
是的,你可以使用LuaJava从开普勒项目中仅使用lua编写android应用程序(尽管我不认为它还在维护)。您可以轻松创建和操作Java对象,并通过lua与Android API交互。您甚至可以仅使用lua动态创建UI元素。但是,需要一小部分java引导代码才能从您的应用程序启动lua VM。 {{link1:AndroLua}}项目是开始使用Android的好地方。创建者已经做了很多工作,使lua与Android配合使用,并将其打包到一个应用程序中。从经验上讲,我可以说它非常好用! 但是,我绝不会推荐给初学者,因为这需要对java和lua有很多知识才能使事情正常运行,这意味着更多的工作而不是更少的工作。
对于AndroLua,只需克隆repo并将其用作自己应用程序的基础即可。上次我使用它时,我只是将其导入到android-studio中,在解决了自己设置的一些问题后,就可以在我的设备上编译和运行了。
如果只使用纯Lua,那么答案是否定的...除非你想使用很多库。
如果你想制作一些小型的Android应用或游戏,那么可以使用游戏引擎,学习是一个逐步的过程,不要直接跳入难点。