项目升级,为了热更新使用lua。

  现在发行商的要求越来越变态,必须要求程序热更新,以应对上线后的bug及时调整,我们目标锁定在 ulua, slua,(也对L#感兴趣过),一开始对 ulua 很困惑,unity 的 assetstore 上有售卖,但是又有一个 www.ulua.org 的网站和组织声称最新版本的 ulua 为 1.0.8,后来通过 unity 官方人员知道 ulua.org 是国内的一个组织针对 assetstore 上卖的 ulua 进行升级改造的版本,原版本很久没有更新过,迄今为止是 1.0.3;

  做了一个十分简单的测试,都在静态绑定函数模式下,发现 slua 的性能确实高于 ulua,平均高40%左右,现在用家里的电脑,回头补上数据(非常简陋的数据测试);slua 简单干净也是我决定选择它的原因,ulua 过于庞大,示例和使用上让人摸不着头脑,完全不知道如何下手的感觉。

  由于目前完全是 lua 的新手,以前基本上是没用过,这几天抱着 《lua 程序设计》中英文对照版狂啃,然后再分析 slua 框架,完全从零恶补,必须要在短短的这些天完成,任务还是比较艰巨的。

  通过阅读 slua 文档,目前 mac 下不支持 luajit 64bit,所以各平台版本情况如下:

  ios: luajit 2.1 32/64bit universal
  android: luajit 2.0 32/bit
  windows: luajit 2.0 32/64bit
  mac: lua 5.1 32/64bit universal

  作者已经添加了 lua 5.3 的对应接口,如果要用 5.3,自己去编译成库替换现有的 libslua 即可,持续研究学习中。

时间: 2024-11-04 13:05:45

项目升级,为了热更新使用lua。的相关文章

我发起了一个 .Net Core 平台上的 开源项目 ShadowDomain 用于 热更新

大家好,  我发起了一个 .Net Core 平台上的 开源项目 ShadowDomain  用于 热更新 . 简单的说, 原理就是 类似 Asp.net 那样 让 当前 WebApp 运行在一个 App Domain 中, 当 WebApp 的 Bin 目录 或者 Web.config 被更新时, 就会 创建一个 新的 App Domain, 我们把 这个 新的 App Domain 称之为  "New Domain", 把 原来的 正在运行的 App Domain 称之为  &qu

CodePush热更新组件详细接入教程

CodePush热更新组件详细接入教程 什么是CodePush CodePush是一个微软开发的云服务器.通过它,开发者可以直接在用户的设备上部署手机应用更新.CodePush相当于一个中心仓库,开发者可以推送当前的更新(包括JS/HTML/CSS/IMAGE等)到CoduPush,然后应用将会查询是否有更新. 接入流程 安装 CodePush CLI 注册 CodePush账号 在CodePush服务器注册App RN代码中集成CodePush 原生应用中配置CodePush 发布更新的版本

webapck小知识点9-Hot Module Replacement 热更新

热更新是什么呢?下面举例 1.index.js和style.css代码 2.点击新增的效果 3.当我们更新style.css代码 4.页面效果 这个时候页面就自己刷新了,但是呢 我们其实希望看到上面步骤2颜色改变 ,而不是整个页面刷新,我们接下来讲的热更新就是实现这样的效果 只是颜色改变 而不是页面刷新 当我们配置webpackconfig.js就能实现上面功能 接下来介绍热更新在js的应用 1.webpackconfig.js配置不变,counter.js number.js 和index.j

(原创)cocos lua 热更新从零开始(一)最简单demo

开发环境:WIN7 + cocos2dx 3.10 lua版本 0.学习这篇内容的基础是你要会创建并运行一个cocos lua项目 1.热更新的思想所谓的热更新,就是在线更新代码和资源.热更新的过程首先,客户端向服务器发送请求,服务器告诉客户端,没更新啦,你是最新的啦,那就直接跳过喽.但如果是告诉你有更新,那就要告诉我哪些需要更新对吧,你可能需要更新的东西,放在一个文件里,一并发送给客户端,客户端拿到这个文件,就一个一个去向服务器要,最后把要更新的内容都下载到本地了. 2.热更新用到的类:Ass

菜鸟学习 - Unity中的热更新 - Lua和C#通信

孙广东 2015-4-6 热更新我是个菜鸟,感谢网上的各位的奉献,这次又当一回搬运工. 准备: 1.了解Lua的语法 推荐书籍<Lua程序设计 第二版> 2.使用ULua插件进行通信 尽量早上真机.因为Bug问题特别多. 大杂烩: 更新LUa其实也是更新资源. Lua被看作一个资源么.Lua代码都是运行时才编译的,不运行的时候就如同一张图片.一段音频一样,都是文件资源:所以更新逻辑只需要更新脚本,不需要再编译,因而Lua能轻松实现"热更新".运行效率由于使用反射,所以成为它

Unity3D游戏开发之Lua与游戏的不解之缘终结篇:UniLua热更新完全解读

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 喜欢我的博客请记住我的名字:秦元培,我的博客地址是blog.csdn.net/qinyuanpei. 转载请注明出处,本文作者:

Android热更新开源项目Tinker集成实践总结

前言 最近项目集成了Tinker,开始认为集成会比较简单,但是在实际操作的过程中还是遇到了一些问题,本文就会介绍在集成过程大家基本会遇到的主要问题. 考虑一:后台的选取 目前后台功能可以通过三种方式实现: 1.自己搭建后台布丁下发系统2.第三方提供的服务,目前如原微信simsun大神的个人tinkerpatch平台,目前出于内测阶段,暂时免费.后期应该会按下发量对app进行收费.3.腾讯Bugly提供的服务,提供了热更新的下发后台,集成到了bugly的升级sdk中.免费.根据公司的精神,我们选择

lua调用C++写的DLL实现“热更新”

原创作品,转载请注明来源是CSDN:http://blog.csdn.net/relar/article/details/38084689 开发游戏服务器往往有"热更新"的需求,就是在不停止服务程序的情况下,对服务程序进行升级.这里采用lua脚本桥接C++的模式.程序主框架用C++,程序的业务逻辑也是C++(具体的是C++写的DLL),这两者之间用LUA脚本语言进行桥接.当程序运行时,只要改变LUA脚本,即可以选择使用不同的DLL,以实现业务逻辑的升级更新. 上演示代码,代码分为三部分

Cordova热更新和App升级 - 简书

原文:Cordova热更新和App升级 - 简书 公司的cordova项目前段时间增加了热更新功能,自己第一次做的时候在网上查找了很多资料,有的资料写的并不全面遇到了很多坑.因此总结一些在开发过程中遇到了问题和解决办法. cordova项目热更新分为两个部分,网页内容(web content)更新和Cordova插件(native side)更新.前者是网页内容,后者是 cordova 插件.web content 的运行是基于 native side.如:登录页面的微信登录,需要在项目中集成微