易君召
发布于 2026-09-18 / 作者:易君召 / 2 阅读
0

Lua 常用库 & 框架

Lua 本身很小,标准库只提供基础能力,绝大多数能力靠第三方库;生态主要集中在:Web 网关、游戏、嵌入式、通用工具四大领域。

包管理器:LuaRocks(Lua 的 pip,安装第三方库)

一、Lua 内置标准库(原生自带,无需安装)

  • base:基础函数 print / pcall / require

  • table:表操作(插入、删除、遍历)

  • string:字符串处理,模式匹配

  • math:数学、随机数

  • io:简单文件读写

  • os:时间、系统调用

  • debug:调试钩子

  • coroutine:协程(Lua 原生协程)

二、通用第三方基础库(业务开发高频)

表格

用途

LuaFileSystem(lfs)

文件系统:遍历目录、获取文件属性,Lua 标配文件库博客园

LuaSocket

TCP/UDP/HTTP 基础网络库,最经典网络模块,支持简单 http、udp 通信博客园

dkjson / lua-json

JSON 序列化 / 反序列化,dkjson 使用更广

Penlight

大而全工具库,补齐标准库缺失:集合、日期、路径、IO,类似 Python 标准库

Moses

函数式工具库,类似 Underscore.js,table 高阶操作

bitop

位运算库(Lua5.1 必备,5.2 + 内置 bit32)

lua-dbi

数据库抽象层,统一访问 MySQL、SQLite、PostgreSQL

LuaJIT FFI

LuaJIT 专属,可以直接调用 C 函数,不用手写绑定,高性能必备

三、Web / 网关领域(工业界最常用)

  1. OpenResty:Nginx + LuaJIT,高性能非阻塞 Web 平台,用于 API 网关、WAF、限流;Kong、APISIX 底层都是 OpenResty

    • 配套库:lua-resty-mysqllua-resty-redislua-resty-http(OpenResty 生态非阻塞驱动)

  2. Lapis:OpenResty 上的 MVC 全栈 Web 框架,类似 Rails/Django,支持 MoonScript

  3. 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 库

选型简单建议

  1. Web 网关、高并发服务:OpenResty + Lapis + lua-resty 系列

  2. Unity 手游热更:xLua

  3. 独立 2D 小游戏:LÖVE2D

  4. 游戏服务器:Skynet

  5. IoT 硬件:NodeMCU / LuatOS

  6. 通用脚本工具:Penlight + LuaSocket + dkjson


本文原创作者:易君召,详见:https://www.yijunzhao.cn/authors/yijunzhao,转载请注明出处。

原文链接 https://www.yijunzhao.cn/archives/lua-common-libraries-frameworks-guide

欢迎访问 小易撩挨踢

https://www.yijunzhao.cn/