Lua 本身很小,标准库只提供基础能力,绝大多数能力靠第三方库;生态主要集中在:Web 网关、游戏、嵌入式、通用工具四大领域。
包管理器:LuaRocks(Lua 的 pip,安装第三方库)
一、Lua 内置标准库(原生自带,无需安装)
base:基础函数print/pcall/requiretable:表操作(插入、删除、遍历)string:字符串处理,模式匹配math:数学、随机数io:简单文件读写os:时间、系统调用debug:调试钩子coroutine:协程(Lua 原生协程)
二、通用第三方基础库(业务开发高频)
表格
三、Web / 网关领域(工业界最常用)
OpenResty:Nginx + LuaJIT,高性能非阻塞 Web 平台,用于 API 网关、WAF、限流;Kong、APISIX 底层都是 OpenResty
配套库:
lua-resty-mysql、lua-resty-redis、lua-resty-http(OpenResty 生态非阻塞驱动)
Lapis:OpenResty 上的 MVC 全栈 Web 框架,类似 Rails/Django,支持 MoonScript
Turbo:LuaJIT 异步网络框架,Tornado 风格,独立 http 服务
四、游戏领域(Lua 最经典场景)
游戏脚本绑定(Unity/C# 热更新)
xLua(腾讯):Unity/C#/.NET 接入 Lua,支持热更新,国内手游大量使用
tolua#:Unity 老牌 Lua 绑定方案,自动生成 C#/Lua 绑定代码
游戏引擎 / 框架(直接用 Lua 写游戏)
LÖVE2D(Love2D):跨平台 2D 游戏框架,一套代码跑 Windows/Mac/Linux/Android/iOS,内置图形、音频、物理引擎,独立开发者首选CSDN博...
Solar2D(原 Corona SDK):2D 跨平台手游引擎,开箱即用 UI、物理、网络
MOAI:轻量跨平台 C++ 引擎,Lua 做业务逻辑,适合移动端
Skynet:国内知名游戏服务器框架(C 底层 + Lua 业务),Actor 模型、协程、消息驱动,大量网游后端在用
五、嵌入式 / IoT
NodeMCU:ESP8266/ESP32 固件,Lua 开发物联网,WiFi/GPIO/MQTT
LuatOS:合宙模组的 Lua 物联网系统,国内广泛使用
eLua:MCU 嵌入式 Lua,适合 Cortex-M 等单片机
六、OOP、工具、GUI
middleclass:轻量面向对象库,给 Lua 增加 class 继承,社区最常用 OOP 库
PLoop:更强大的 Lua OOP 框架,支持接口、事件、元编程
IUP:跨平台 GUI 库,用 Lua 写桌面窗口程序
LTUI:终端字符 UI 库(命令行界面)
七、高性能运行时(不是库,但生态基石)
LuaJIT:Lua5.1 的 JIT 编译器,速度远快于标准 Lua,OpenResty、Skynet、很多游戏服务器都基于它,自带 FFI 直接调用 C 库
选型简单建议
Web 网关、高并发服务:OpenResty + Lapis + lua-resty 系列
Unity 手游热更:xLua
独立 2D 小游戏:LÖVE2D
游戏服务器:Skynet
IoT 硬件:NodeMCU / LuatOS
通用脚本工具:Penlight + LuaSocket + dkjson
本文原创作者:易君召,详见:https://www.yijunzhao.cn/authors/yijunzhao,转载请注明出处。
原文链接
欢迎访问 小易撩挨踢