xlua的介绍:
一个基于lua语言开发的unity热更新插件。xLua为Unity、 .Net、 Mono等C#环境增加Lua脚本编程的能力,借助xLua,这些Lua代码可以方便的和C#相互调用。
xLua是Unity3D下Lua编程解决方案,自2016年初推广以来,已经应用于十多款腾讯自研游戏,因其良好性能、易用性、扩展性而广受好评。现在,腾讯已经将xLua开源到GitHub。
2016年12月末,xLua刚刚实现新的突破:全平台支持用Lua修复C#代码bug。
目前Unity下的Lua热更新方案大多都是要求要热更新的部分一开始就要用Lua语言实现,不足之处在于:
1、接入成本高,有的项目已经用C#写完了,这时要接入需要把需要热更的地方用Lua重新实现;2、即使一开始就接入了,也存在同时用两种语言开发难度较大的问题;
3、Lua性能不如C#;
xLua热补丁技术支持在运行时把一个C#实现(函数,操作符,属性,事件,或者整个类)替换成Lua实现,意味着你可以:
1、平时用C#开发;2、运行也是C#,性能秒杀Lua;
3、有bug的地方下发个Lua脚本fix了,下次整体更新时可以把Lua的实现换回正确的C#实现,更新时甚至可以做到不重启游戏;
这个新特性iOS,Android,Window,Mac都测试通过了,目前在做一些易用性优化。
什么是热更新?
热:就是刚出炉
简单来说就是当游戏某个功能出现bug,或者修改了某个功能,或者增加了某个功能的时候,我们不需要重新下载安装安装包,就可以更新游戏内容。
热更新的好处:不用浪费流量重新下载,不用通过商店审核更加快速,不用重新安装玩家可以更快体验到更新的内容
目前比较受欢迎的热更新方案:uLua tolua xLua
热更新方案
这些热更新方案都是基于Lua语言的,也可以叫做lua插件(可以运行lua,并实现了lua和C#交互的插件)。
所以本质上这些热更新方案就是一个lua插件,可以运行lua,并实现了lua和C#交互的插件。
1,(luainterface cs2lua tolua)-->ulua(不再维护,转到主要维护tolua)
2,tolua(基于tolua开发了luaframework)
3,slua代码质量好,性能比tolua低
4,C#light、LSharp同一个作者(商用比较少)
xlua学习
1、作者发布的教程
http://www.gad.qq.com/article/detail/24967
2、GitHub地址
https://github.com/Tencent/xLua
3、本地文件读取
http://blog.csdn.net/feizxiang3/article/details/43671233
xlua轻量级热修复框架
GITHUB
作者:https://github.com/smilehao
博文:https://www.cnblogs.com/SChivas/p/7893048.html