高手进阶必看|Cocos原生框架大揭秘

本周二在小伙伴们高涨的热情下,我们的主播 panda 继续带来 Cocos Creator 原生开发的续篇,揭开原生开发中的各种小秘密。在 panda 和子龙山人精彩讲解两小时(并拖堂半小时)后,终于把大家期待已久的内容全部讲完了!

c98a2ae44d844939f985fec0cbaabea8.jpeg

如此丰富的直播内容,错过岂不可惜?下面咱们回顾一下这次直播的精彩内容。

热更新范例和技术解读

由于热更新技术的需求异常火热,广大用户非常依赖这个功能,并且有很多人给引擎团队提出了各种疑问反馈和建议。所以直播中 panda 首先给大家讲解了热更新范例的正确使用姿势,并且详细解读了热更新技术的内部细节和适用场景。

1c74c1e560c4a11da6bdbd3ae2077e7e.jpeg
有了热更新,再也不担心更新迭代问题了。

其中需要重点和大家强调的是 Cocos Creator 中内置的热更新技术与传统的增量包更新技术并不同,我们的热更新更类似 Web 页面的更新策略,将本地资源和服务端资源进行完整对比,在运行时动态生成需要更新的资源列表并进行更新。由于文件更新的顺序是不保障的,所以这种更新策略并不适合使用增量包。

f8b0f070a0007258acdf0fd9e14ed1fa.gif

Cocos Creator 的原生框架

紧接着进入了当晚直播的正题,Cocos Creator 的原生框架与绑定技术。panda 首次披露了 Cocos Creator 原生框架,如何依赖绑定技术达成 JS 应用跨平台的能力,还详细讲解了 Cocos Creator 原生框架扩展的几种可能性及其兼容性。小伙伴们纷纷在评论区索要 ppt 想要收藏起来慢慢研习,不用担心,把这文章看完就会有链接啦。

edb446ed2bd41cb6e4246c09561321d7.jpeg

JSB 绑定技术

接下来主播更加深入主题,给大家讲解 JSB 绑定技术的原理,让直播的深度爆表。手把手教大家搭建自动绑定工具环境的过程中,听众纷纷感叹实在太复杂。听到大家的心声,我们也下定决心在未来简化自动绑定工具的使用。

3f88ca905fb0a1a2614f63e7caeb7bbd.gif

环境搭建完成后,panda 还详细讲解了自动绑定和手动绑定的关系,表示绝大多数 C++ API 都可以通过自动绑定工具完成绑定,仅有少数复杂 API 的绑定需要用户手动完成,不过本质上,两者是一致的,都是创建桥接函数将 C++ API 暴露到 JS 层。

2e20afdd47b92a2b041830acf0bce50a.jpeg

panda 主播更深入得讲解绑定函数的实现本质,C++ 和 JS 对象的互相转换,类对象的映射关系等概念,虽然时间略显仓促,不过相信认真的听众已经对 JSB 绑定有了初步的概念。

C++ 调用 JS 方法实例

最后阶段又掀起本场直播的高潮!!panda 现场实现了一段通过 C++ 调用 JS 的代码,并成功在 C++ 层改变了一个 JS 组件的属性。据主播介绍,这段代码的原理涉及 JS 引擎 Spidermonkey 和引擎 ScriptingCore 所提供的 API,大家可以在课后自己尝试更深入的了解。

ccdbba5b9b694f71c742c0bcc8dad7b8.jpeg

相关资源

直播精华PPT:

https://github.com/pandamicro/CocosLiveKeynotes/blob/master/2016_11_15_Creator_Native_Architecture.pdf

Cocos2d 的绑定技术:

https://zhuanlan.zhihu.com/p/20525026


Cocos Creator 的自动绑定:

https://zhuanlan.zhihu.com/p/20525109

Spidermonkey API:

https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/JSAPI_reference

ScriptingCore API:

http://cocos2d-x.org/docs/api-ref/cplusplus/v3x/dc/da6/class_scripting_core.html

你可能还喜欢的文章 点击图片即可阅读

8f4ba742321eb2088cb895b3294870a3.jpeg

为什么你的代码老是那么臃肿?

31645a7b52e8acb04571cfdade47987a.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值