未必要用scrawl-canvas
一直以为,最重磅的功能要配上最拉风的库来开发,直到发现所做的努力仅仅是“对冲”。
都知道javascript的原生canvas不适合直接拿来做开发,因此,考虑重磅功能——图像批注——的时候,就想选一个牛逼的插件来做。即便学习曲线陡峭一些,于情于理也都是值得的。在各大社区兜兜转转之后,神通广大的scrawl-canvas赢得头牌,此后,就一直躺在收藏夹和本地代码库里。
陆陆续续研究了它的一些用法之后,决定直接上项目。梳理了基本的交互逻辑之后,从一个圆点开始,发现有点不对劲。怎么尝试它的用法,会这么难以衔接?为什么画板尺寸总是默认“归零”?为何生成的图像无法在明面看到任何代码?为什么我还要从头到尾去设想每一步的交互判断?为什么我觉得我要做的东西不用它反而会更快?它真的可以做出更好用的产品么?
为了用它,我觉得自己在做一些”对冲“的努力,这真的是如它所宣传的,如开发者所推崇的那个强大插件么?是的,强大如它,可以通过canvas做游戏级别的交互,可以做视频动态分析,甚至结合深度学习做人眼识别——这简直为canvas开挂开到天上去了。可是我要做的是什么呢?仅仅是图像批注而已。再到网上搜索,发现了很多现成好用的代码。这些更符合期待的库,最匹配的就是作图交互的封装————我不需要再亲自细化那么多的细节,而是去平衡更末端交互之间的关系,这才是一个库需要带给我的便利。
为什么会拧巴到如此地步,才发现之前用的东西一直不适合自己呢?期待过高而迟迟不敢下手,下手之后迟迟衔接不上,衔接上还总是起反作用力,直到睁开眼看其他地方,发现新的解决思路。
柳暗花明又一村,正是此刻。
很自然的容易联想到人生的方方面面去。一开始以为的状态,必须要怎样怎样的路径才能如何如何,但也许未必。试过之后发现,如果“对冲”的工作更多,是不是需要重新评估一下需求,才能发现更广阔的天地?