关于使不使用js库的问题


做为一个前端程序员,我一直有这样的一个疑问,就是用不用 js库 js库 有很多例如 jquery Prototype 等,但是像阿里,腾讯,百度这样的大公司都是自己开发公司的框架和库。
在前端学习,在前端群里面聊天,很多人都不推荐使用 js库 ,特别是 jq ,这到底是为什么,一定要写原生的 js代码 吗。我一直就有这样子的一个疑问。
前端也没有一个很明确的方向, 原生js 固然很重要,但是为什么那么多人,要放弃 轮子 选择走路呢,有的人是自己造 轮子 ,为了表现自己,提高价值吗

jquery web前端开发 移动web开发 JavaScript

赤赤的祈祷 10 years ago

其实还好,并不是说不用框架或者说放弃已有的轮子,但一方面想的是轮子造好了,很多人就直接用了,但是很少有人会去想这个轮子是怎么造出来的,如果没有有这个轮子的时候,自己能否造出来一个!也就是说原有的框架可以用,也可以自己去造,因为很多的东西并不是已经造好的轮子就已经能实现所有的东西,而且已有的轮子可能冗余太多的东西,有时候自己写那也是为了只取自己需要的!只是一个选择问题而已!

hooriu answered 10 years ago

我个人感觉用原生不用公共js库的原因:
1、要求严格控制js库大小,不使用的功能坚决不加入;
2、有比公共js库更好实现;
3、不想过分依赖第三方js库,万一哪天有一个你要用的功能突然说不支持了或者改了,怎么办?
我是从性能和维护角度考虑的,应该还有别的原因,不知道对不对

Amiko answered 10 years ago

这个问题5年前就想过,也有人问过,简单说说自己的观点:
1、首先纠正楼主的一个可能错误的认识:阿里,腾讯,百度这样的大公司有自己的框架,但是在具体的产品线和项目中同样会用到别人的框架,有时候甚至是大面积的。
2、用还是不用完全视项目的需求而定,即使用也难免会遇到框架本身或者框架与需求之间冲突等等各种坑,这时候怎么办?项目还是要继续,这时候就必须运用原生的语法解决问题,有时候甚至会修改框架的核心部分以解决问题。
3、即使从个人成长的角度出发么,使用框架本身没有问题,问题在于不能依赖框架,不能说脱离了jp就完全不懂js,这样肯定是不行的。框架在运用的过程中也是自己的学习过程,适当的尝试看看框架的源码,看看那些前辈是怎么组织代码的,这同样是学习和提升。

天上有灰机 answered 10 years ago

自己造轮子,命运可以掌握在自己手中啊。

holden answered 10 years ago

按我看,一切都是选择的宿命,控制的欲望。有时候特殊的一些业务需求,不太确定,是否用框架,用哪一个框架?等等的选择困惑中。而造轮子,恰恰是能够了解实现细节或经历的一个过程。
而且有时候,在正式开发前,技术的选型,或正式的开发是有区别。

无爱D飞鱼 answered 10 years ago

楼主多虑了,原生Js是基础,Js库是生产力,掌握原生Js是在Js库出现不适用眼前的场景时对Js库进行修复再构造,甚至自己写特定于某个场景的Js库,Js库是原生Js发展到今天大规模部署生产时的必然结果,你可以把原生Js理解为锤子螺丝刀,Js库理解为流水线车床。建议楼主熟练使用Js库,并研究Js库实现的原理即原生Js,两手抓。至于用不用Js库的问题,原生Js和Js库哪个好,看需求吧,即使是在实现某个需求时觉得原生Js比Js库好,那么在大规模部署生产面前,你还要自己写特定的库的,这是发展的必然。

罪与罰与贖 answered 10 years ago

框架要用,但是原生也必须会。 这两个并不是对立的冲突面 。框架可以极大提高生产力,但是封装了太多底层基础操作,如果自己不清楚具体实现的话,对技术实力增长无益。

我与泰迪对愁眠 answered 10 years ago

那些放弃造轮子的人要么已经造过轮子,有能力造轮子,知道何时造轮子了的人说的风凉话。要么是一些人云亦云的跟风者(新人)。

不用js库能不能做项目,能不能解决问题?答案是肯定的。原生js重要吗?答案也是肯定的。
各种库都只是给原生js加上各种特效用于更适应某一种应用场景而已

抛开场景谈技术都是耍流氓。

用不用的最重要标准之一就是: 是否适合当前业务场景和使用后对项目有没有质的提升 。重展示和炫酷效果的和重操作和业务交互的肯定是不一样的。当然像 jquery 这种万金油啥地方都可以插一脚。作为学习而言,原生的js是你必走的一条路。你可以不太深入,但基础的还是必须要懂。这为你以后使用轮子也好,造轮子也好都有益无害。

以上

好地地唔得嘅 answered 10 years ago

Your Answer