做cocos很多年了,见证了太多的cocos发展历程,cocos就像一艘船,上上下下好多人,眼见他山起,又见他山落。
我写了也有好多插件了,对于生态的理解,还是有一点自己的心得的,我理解的生态就是积累,无论积累的东西好坏,他必须得沉淀下来,就像npm上的package,得有超过20%的package都是鸡肋,没有这些package捧场,还真不行,简单说就是只有量变才能产生质变。
我是很推崇npm这种开发体验,不过最近我看到npm也开始注重商业化的东西了
我开发项目过程中,一个痛点就是代码复用,你可以说把公用代码变成插件,这是个解决办法,但是插件需要审核,很久之间我就诞生过想法,做类似npm这样的包管理,但仅限于是想法。
其次对于公司而言,其实他不愿意将代码public的,这个不在讨论范围,其实npm也给出了解决办法,虽然不是很确定npm这种商业策略到底能带来多少收入,可能npm活的也很痛苦吧。
所以,还是得把免费的生态给做起来,而且做的像npm这样好用,比如我写了一个功能组件,我发布到hub上,包管理器可以根据项目版本,安装的时候就给出安装提示之类的,其实主要就是代码的版本适配,可能这个包作者只适配了某个固定的版本,我说的这些都是使用的体验上问题,npm上的包也存在这个问题,具体怎么解决,npm都给出了方案,这里不再展开讨论。
核心就是我发布的cocos package不需要审核,虽然这个不符合国情,怎么解决不再展开,审核带来的就是体验上的割裂,没听说过npm上的package也需要审核。
这是一个漫长的积累过程,只有当开发者尝到free package带来的甜头,他才有可能入局,就像现在其实我也会自己写满足自己需求的package发布到npm上。
另外就是包管理的cdn被刷流量如何防止,这种问题其实npm都遇到过,解决办法都是有前车之鉴的。
说白了,包管理器就是大浪淘沙,总会诞生优秀的package去滋润这个生态。
不过你可能说随着creator版本的更新,有些package也会跟不上更新,这个过程nodejs也是经历过的,不再展开。
其实总结下:需要一个code hub,无须审核,开箱即用,如果找不到和creator版本适配的code,总会有人提交上来,比如一些常用的截屏,打开相册、A星寻路等高频使用的游戏功能。
你可能说,我怎么变现?我辛辛苦苦做些好用的package,搞慈善呢?
这个问题我也在想npm上那些大慈善家是怎么活下去的,好像也没啥最优解。
其实说到底就一句话:对C端免费,对B端收费。你感觉在白P这些公司,这些公司也在白P你,只要你听说过它,使用过它,技术选型的时候多看了它一眼,它就在白P你。(Cocos同理)
不过能让你坚持做一件事的,肯定是能获得一个正反馈,钱只是正反馈的一种。
