21

因此,我在 Mobile Orchard 上阅读了这篇文章,当我计划在 Android 开发中迈出第一步时,我开始思考:是否可以仅在 Lua 中为 Android 开发?我用谷歌搜索了这个话题,但没有找到明确的答案。我知道 Java 是 Android 的“基本风格”,但对于我这样的编码新手(基本 Python、基本 C++)来说,Lua 似乎更清晰、更友好。那么我的问题是:一个人可以只使用 Lua 开发一个 Android 应用程序吗?如果是这样,你能告诉我一些从这里搬家的方向吗?

4

7 回答 7

16

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

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

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

这是Moai 与 Corona的详细比较。

于 2012-08-03T04:29:10.553 回答
8

我知道这是一个较老的问题,但只是为了为后来的人纠正一些错误信息(在评论中),Corona SDK(截至 2013 年春季)有一个免费的入门版——没有启动画面或任何东西。它与“Pro”版本的主要区别在于您不能在 Starter Edition 中进行应用内购买。但是您可以使用它来创建用于销售的应用程序等。它没有到期日期或任何东西。

在回答最初的问题时,学习 Java 可能会让您编写 Android 应用程序,但如果您还想以 iOS 为目标,那么您没有任何好的选择。通过从一开始就选择跨平台的东西,您可以针对 Android 或 iOS 或两者兼而有之。Lua(在任何已经提到的风格中)是学习移动开发的一个很好的基础语言。

于 2013-05-12T05:48:48.540 回答
7

问题是你想构建什么样的应用程序,你有什么技能。如果您已经熟悉 JavaScript,则可以使用 Phonegap/Cordova。如果您正在构建游戏,那么有许多使用 Lua 的 2D 和 3D 框架。有些是免费的,有些则需要许可费,但如果它为您的问题提供了解决方案,那么它是值得的。都有优点和缺点。例如,我不确定是否要在游戏框架中构建 RSS 阅读器。Java 只是另一种语言,我建议您先学习 Java 和 Android 框架并了解其中的内容,然后再添加另一个特定于应用程序的框架层。

于 2012-08-03T01:08:56.140 回答
3

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

于 2012-08-04T14:53:12.720 回答
3

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

Exporter 可以帮助您在上述平台上制作独立的应用程序。

于 2018-05-11T18:29:39.927 回答
0

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

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

对于 AndroLua,只需克隆 repo 并将其用作您自己的应用程序的基础。上次我使用它时,我只是将它导入 android-studio,并在我自己的设置中解决了一些问题后,让它在我的设备上编译和运行。

于 2016-03-19T02:31:14.127 回答
0

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

如果你想制作小的 Android 应用程序/游戏然后使用游戏引擎,学习是一个循序渐进的过程,不要直接进入困难的部分。

于 2018-06-01T04:57:43.460 回答