关于Lua那些事
来源:互联网 发布:java类变量初始化 编辑:程序博客网 时间:2024/06/07 17:02
现在一些热更的方案有LuaJit、uLua、sLua、xLua、L#(C# Light)等
1、LuaJit和其他Lua解释器区别过大,针对大多数unity的程序员来讲,并不是特别适合。
2、uLua:Lua是当前速度最快的Lua,但它所存在的缺陷就是uLua的分支版本多,造成了不统一的现象。
ulua最早是一个叫LuaInterface开源库的Unity移植,在2015年初换成cs2lua,又在2016年初换成tolua c#,只所以说“换”,是因为这从API角度看可认为三个不同的产品,它们间很难升级,而且是每换一次,之前的版本就彻底不维护了,这给项目带来很大的困扰。
ulua的第一个版本纯反射,并不实用,已经淡出市场,现存应用用后两个版本居多。cstolua版本接口比较混乱:它保留了第一版ulua接口之余,搞了一套新接口,这两套接口之间并不正交,也不是后者完全替代前者,让人有点无所适从。到了tolua c#版本,这问题解决了,但同时也把反射特性(老接口)给废了。不过总体来说,ulua在向好的方向走。
3、sLua:代码质量比cstolua好很多(很多人当时选slua的理由),部分支持反射。性能按我们的测试用例整体比tolua c#略低,另外代码质量对比tolua c#已经形成不了明显优势
4、xLua:作者和云风撕了一场大逼,性能上可能并不如uLua,也可能会让大家产生撞大运编程的即视感,不过由企鹅主导维护,并且只有一个版本,对开发者还算比较友好。
5、C#light 个人觉得主要有两个不足:
按其实现原理来说,性能不会靠谱,到不了手机上实用的地步;
由于不完整支持C#,本质上只是另一种叫C#light的语言(C# like?名字倒很贴切),这两者代码配合起来也复杂,甚至它能做到比C#和lua配合更复杂些
事实也证明了,C# light基本淡出市场,可以忽略不计了
6、LSharp是C# light作者的后续作品,倒是可以期盼些,从il层面执行,这两个问题有望改善,可惜后面没了下文(不维护了)。
每种语言或者插件,都有各自的优势,所以它才会有人用。
xLua的优势:http://www.gad.qq.com/article/detail/24967
GitHub地址:https://github.com/Tencent/xLua
tolua:https://github.com/topameng/tolua
slua:https://github.com/pangweiwei/slua
ILRuntime:https://github.com/Ourpalm/ILRuntime
- 关于Lua那些事
- 关于外包那些事!!!
- 关于浏览器那些事
- 关于input 那些事
- 关于IOCP那些事
- 关于StringIndexOutOfBoundsException那些事~
- 关于社区那些事
- 关于创业那些事
- 关于layoutSubviews那些事
- 关于找工作那些事
- 关于epoll那些事
- 关于AJAX那些事
- 关于异常那些事
- 关于拍照那些事
- 关于StringIndexOutOfBoundsException那些事~
- 关于BaseServlet那些事
- 关于中国地图那些事
- 关于电子商务那些事!
- 关于java静态方法里只能调用静态变量的思考
- 理解Android硬件加速的小白文
- descendantFocusability的用法
- Android 的进程间通信 Binder——Messenger的入门使用
- java.lang.NullPointerException Attempt to invoke virtual method 'int android.widget.Editor
- 关于Lua那些事
- 16.Python
- Java 对象和类
- Java 基础语法
- Java 开发环境配置
- SVN和Git的区别
- Java 基本数据类型
- Collections.synchronizedMap()、ConcurrentHashMap、Hashtable之间的区别 为什么要比较Hashtable、SynchronizedMap()、Co
- 做小程序费用太高?帮你选一个最省钱的方案