讨论:cocos 原生的出路

C++可以热更新的啊 谁说不能热更新的

1赞


我后来说了。不过我只做到了android的,看看谁能做ios的

2赞

说的太对了,现在cocos的3d,官方连预加载手段都没有,而我要提前把所有资源手动resources.load,这样做就显得很不规范,但原生上如果不load到内存,压根就没法使用,模型的加载如果靠自带的异步,那简直是惨不忍睹。

1赞

ios 不允许热更新so,android可以

1赞

这么好的帖子竟然一个官方都没有。我来说说我的想法吧,这是我很多年前汇总的同类语言列表,都能支持同时编译为原生和 JS。

JavaScript:

TypeScript:

Other Langs:

但是这里面考虑到社区和生态的延续性,没有一个方案能够比得上蓝图。除了蓝图,次优选项就是 ts 的子集,ArkTS 除外(哪天要是看到 Cocos 用了这个语言,但是并没有被收购,那大概率没戏了)

如果我还在,下一站肯定是蓝图了。

3赞

有用的知识增加了

1赞

:rofl:蓝图是个大方向,容易坑到自己吧

1赞

原谅我孤陋寡闻 蓝图是指?

1赞

wasm都已经普及了 为啥还执着编译为js

1赞

参考虚幻的蓝图

1赞

有个colyseus的服务器框架i就支持这个语言

1赞

可视化编程是必须的,但蓝图是否更多的是解决一些简单的编码需求?如果需要高性能,那么编码复杂度应该也不会低,不太会选择可视化编程吧?

如果只是要一门可以编译为原生和 JS 的语言的话,那还可以看一下 MoonBit:https://www.moonbitlang.cn/

但是这些语言都一样(除了 Dart)没有什么起势(MoonBit 还是个较新的语言,但上面提到的那些已经很多年都反响平平),我认为生态还是挺重要的。

所以现阶段还是不赞成增加或者换掉 TS 语言,蓝图是肯定得加的嘛,先搞 WASM 和蓝图一定没错。

1赞

其实我觉得 事件编辑器 相对于 蓝图 更好,蓝图线多了真的很乱,事件编辑器参考 gamemaker 和 gamemei
http://zuoyouxi.gamemei.com/qiyun/gamemei_sln_new/gamemei/

1赞

这个我用过,只能编译为 wasm 和 js,还是只能通过虚拟机和 C++ 结合使用

1赞

说那么多…不如看如何改善jsb的性能吧…这东西才是原生最大的短板 你们说的那些都是天荒夜谈…

2赞

有原生饼,即使为了以后的发展最后也肯定还是得编译为原生的。

1赞

那也得有个基础的可使用 demo 才行,现在是只公布了路线,还没实施,需求被砍是不能确定的事

1赞

是类似这样子的吗?

https://www.kancloud.cn/lazyeo/gms2doc/493219

感觉就是蓝图的子集,如果重新开发蓝图,也能做到这样混合编码的可视化编程,但是这样简单的连线 + 编码的话是不是直接对象开放这样的接口就行了?

onClick() {
   // ...
}
1赞

先声明我不是推荐这款语言,但是我觉得编译为原生是必须做的一件事,不可能被砍,如果真要用的话,调研阶段也可以先去问问他们团队嘛,即使要说被砍的话,我更认为编译为 JS 极有可能最终会被砍,作为一个不再发展的废弃兼容特性。

1赞

蓝图不太行。
社区层面,不像ts能承接很大一部分web前端的开发者社群,蓝图就是各自引擎做各自的,社区不相交复用性比较差。
功能层面,很容易出bug,版本升级也不容易兼容,蓝图二进制文件,版本维护和svn合并都不太行。
UE就是前车之鉴,蓝图Bug多的要死,可以尝试一下改一个依赖比较多的底部数据结构,分分钟全部蓝图出bug,各种刷新问题层出不穷。
Godot都放弃维护它的那个蓝图了。Unity也不怎么管了,就是费力不讨好。
只有shader或者是动画,AI这种,用图节点编辑还可以,正式的业务逻辑建议不要蓝图化。

1赞