仅使用Lua开发Android应用程序是否可行?
所以我读了Mobile Orchard上的这篇文章,由于我计划开始学习Android开发,这使我思考:是否可能仅使用Lua进行Android开发?我用谷歌搜索了这个话题,但没有找到确定的答案。我知道Java是Android的“基本风格”,但对于像我这样的编码新手(了解基本的Python和C++),Lua似乎更清晰和友好。那么我的问题来了:是否可以仅使用Lua开发Android应用程序?如果是这样的话,您能否向我展示一些从这里开始的方向?
我一直在使用 Lua 开发手机应用程序,可以从 iOS 和 Android 手机远程控制机器人。这个应用程序是纯 Lua,并且在 Mosync 平台 上运行,使用 MobileLua。还需要一些管道工程,但并不太复杂。
我还有一个 调试器 和一个 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 vs. Corona 的比较。
Corona SDK允许你使用Lua编写iOS和Android应用程序。它非常容易学习,但不是免费的。
编辑: 我看到你发了帖子,说你刚刚发现了Corona...
我知道这是一个比较老的问题,但是为了更正一些错误信息(在评论中),让后来的人了解,Corona SDK(截至2013年春季)有一个Starter版本是免费的--没有任何开机画面。它和“Pro”版本的主要区别是在Starter版本中不能进行应用内购买。但是你可以用它来创建卖这些应用,等等。它没有到期日期或者其他任何限制。
对于原始问题的回答,学习Java可能会让你编写Android应用,但是如果你还想针对iOS,你没有什么好的选择。从一开始就选择跨平台的东西,你可以针对Android或iOS或两者都针对。Lua(在任何已经提到的版本中)是一个很好的移动开发基础语言。
这可能对楼主并不有用,但对于其他想使用lua编写应用程序的人来说,我想分享一下我的见解。所以,回答问题:
是的,你可以仅使用lua使用LuaJava从开普勒计划为Android编写应用程序(尽管我不认为它还在维护)。你可以无缝地创建和操作Java对象,并通过lua与Android API交互。你甚至可以仅使用lua动态创建UI元素。然而,启动lua VM需要少量的java引导代码。对于Android,AndroLua项目是一个很好的起点。创建者已经做了很多使lua与Android合作并将其全部打包成一个应用程序的工作。从经验上讲,我可以说它运行得很好!但是,我不会向初学者推荐这种方法,因为它需要对java 和 lua有很多知识才能使事情正常运行,这意味着更多的工作而不是少的。
对于AndroLua,只需克隆存储库并将其用作自己应用程序的基础即可。上次我使用它时,我只是将其导入android-studio,经过修复我的设置后,它已经在我的设备上编译和运行。
你可以试试 http://scormpool.com/luastudio
在你的设备上开发和运行代码,包括 iOS、Android、Mac 和 Win。
出口器可以帮助你在上述平台上制作独立应用程序。
如果只使用纯 Lua 那么答案是否定的,除非你想要使用大量库。
如果你想制作一些小型的 Android 应用/游戏,那么使用一个游戏引擎,学习是逐步进行的过程,不要直接跳入难点。
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
问题是你想要创建什么样的应用程序以及你具备什么技能。如果你已经熟悉 JavaScript,就可以使用 Phonegap/Cordova。如果你正在构建游戏,就有许多使用 Lua 的2D和3D框架。有些是免费的,有些则需要授权费用,但如果这能解决你的问题,就很值得。所有的框架都有优点和缺点。例如,我不确定是否想用游戏框架来构建 RSS 阅读器。Java 只是另一种语言,我建议先学习 Java 和 Android 框架,了解有哪些内容,再在其上添加其他的应用程序特定框架层。