KSFramework是一个Unity 5 Asset Bundle开发框架和工具集,专注于运行时热重载,使用了SLua作为脚本引擎。
1.
最近,xLua在腾讯作背书情况下发布,完善的机制、优越的性能,在Unity开发圈里火速升温,老牌的slua和ulua,都被抛在身后。
如果你要做一个新项目,估计,xLua将会是首选。
ulua和slua,都是在作者实际项目需求的驱动下诞生;而xLua,在同样是需求的驱动下,作者全职的开发,同时经历多个不同公司项目的考虑,为再加上公司资源和品牌的加持,火爆自然是迟早的事,这给予人足够的信心。
这也包括我在内,虽然也为slua贡献了些代码,但是看到xLua后,我觉得这货能为我省很多的时间啊。与死磕代码相比,我更喜欢一些能为人节省上班时间的技术产品出现。
作为一个被非技术人员管理的技术人员,需求是永远做不完的,非到不得已,真没必要重复造轮子。
2.
朋友问我,能不能把KSFramework中的slua改成xlua啊,因为他在面试新公司,说会这个可以让他更容易找到工作。
这个很令我意外,虽然项目里有用到,但是就算是坐在我旁边的人,可能都不知道我做这个东西。KSFramework更像一个组件工具集,嵌进去、用起来、忘记存在。
3.
在他的建议下,我决定尝试加入xLua的支持。没想到只花了半个小时。
因为KSFramework是KEngine+Slua的合体,核心还是KEngine。
KSFramework主要是花费业余时间搞的,虽然想把Web前端的MVVM模式搬成一个Unity UI框架,一直也没有时间往深去做更多功能,只是薄薄的一层Lua桥接。
所以KSFramework中具体的Lua逻辑代码其实是非常非常的少,桥接slua的部分仅仅是薄薄一个代码文件——LuaModule.cs。
更换不同的Lua引擎,用一句话来形容:
把Lua引擎中运行代码的接口改掉。
xLua的易用性设计得不错,在编辑器模式下导入进来,也不用做什么特别的工作,基本就能跑起来了。
我也不用怎么看它的运行机制,桥接代码改完了,也顺利跑起来了。兼容性是棒棒的,在不生成静态代码的状态下,都能把大部分之前slua不支持的反射模式特性支持了。
完了,提交分支上:
以上。