每一次提到前端框架,我们可能都会想一下究竟是“会用”,还是需要懂得”怎么实现“这个框架。
虽然知道怎么实现框架,了解框架的内部原理是最好的,但是一直没有总结出一些可以说服自己的理由。也有可能是因为自己的实践经历没到吧。
2015.9.15前更新
如果单单是使用,而没有去了解。很容易造成一遇到问题就卡住完全不知道应该如何解决的问题。主要是因为你不了解整个框架的内核,框架的使用与你已有的知识体系产生了断层,因此一旦遇到了问题,你不知道应该从哪个方面去了解。因此遇到新的框架,需要去读源码,或者是自己去开发框架。这就是工程项目的“可控性”
1、像这次的“AngularJS”和”meteor”,以及后端的J2EE、NodeJS的ExpressJS框架也是,不了解其源码,遇到问题就一筹莫展了。也就是说不能创新,只能做已有的事情。
2、了解源代码,就可以剖析库是怎么实现的,那么当库之间产生冲突的时候,便可以马上知道是发生了什么问题,甚至从一开始选择架构的时候就可以避免问题。
3、开发新功能的时候,可以有不同的参考模式。
2015.9.15腾讯一面后
在9.15进行完腾讯前端面试一面以后,面试官的回答启发了我,对于js操作,可能jQuery为我们提供了简便的DOM操作优化,使我们可以从【兼容】和【繁琐语法】中解放出来,但这样兵不代表我们就可以一直使用这些框架。例如像Angular在兼容IE8的时候我就没有很好的方法,只能再诉求另一个库(isbetter.js)。这样就容易造成恶性循环,一个问题求一个库,一个库又生成不同的问题。而认识,了解这个库(例如jQuery),就是最好的了解解决这些问题的方法。到了自己面对这些问题的时候,我们可以选用适当的方法自己构建框架。(就removeChild()和remove()方法的异同问题可以试试。纯用js来操作DOM)