Unity数据可视化图表插件XCharts3.0发布
历时8个多月,业余时间,断断续续,XCharts3.0 总算发布了。如果要打个满意度,我给 3.0 版本来个80分。
对于代码框架结构设计的调整改动,基本符合预期,甚是满意。相比之前的 1.0 和 2.0 版本,我认为 3.0 才是一个拿得出手给广大开发者使用的版本。1.0 发布的时候,很兴奋,从 0.1 到 1.0,也磨了一年,真的等不及想给大家试用了,还特地写过一篇文章以示庆祝。那个时候,1.0 虽然还还不够完善,功能也不够丰富,但它是XCharts的开始,没有 1.0,也就没有后面的 2.0 和 3.0。
后面的 2.0 发布,做了很多改进和优化,随着版本迭代,慢慢的发现有不少硬伤需要进行大量重构才能解决。当我知道 2.0 还有些硬伤时,也就没什么心思花在推广运营上了,当时的想法很简单,不希望大量用户使用后还要进行不兼容升级版本,也不想把明知道还不够好的作品推荐给别人,更不想别人看了项目源码后感慨:这是一坨啥玩意?这促使我要开发一个够健壮的,兼容性够好的,解决已知硬伤的版本出来,也就是 3.0 。
终归因为精力和时间有限,源码部分是基本完成了,但在文档、教程等方面还是不够完善,多少给3.0的发布留下了点不足。这些只能后面再继续完善了。但说实话,相比写文档教程文章,我还是更愿意安安静静地写代码。
为什么要开发 XCharts3.0?
一言以蔽之,之前的版本不够好,有硬伤有痛点。一些设计和框架上的问题并不是迭代和优化可以解决的,必须推倒重构重新设计。那之前的版本有哪些方面的痛点呢?总结一下主要有以下两大方面:
- 代码结构上,框架设计不够合理,代码低内聚高耦合,臃肿不方便功能扩展,不利于项目维护。
- 功能使用上,图表无法任意组合,组件无法热插拔,性能优化天花板太低。
其实这两大方面对用户是没什么影响,反而在使用上 2.0 版本还更好用一点。这有点像Unity,早期的版本可以直接访问组件,而后面的版本需要先 GetComponent。
原因的话主要是早期做XCharts时是没想道要做这么完善的,我只是想做个简单的图表工具自己用而已,再加上可支持的图表种类和组件真是太多了,如果一开始没有很好的规划和设计,框架是很难兼容所有需求的。况且,好的架构,都是在持续迭代和重构过程中不断完善