网络前端应该少用第三方库
来源:互联网 发布:关闭长城网络还原大师 编辑:程序博客网 时间:2024/06/09 16:16
====================================================================
后记:
我们看到球的一面的同时,也一定看不到球的另一面。
我们都是从个人的经验和个人的体会出发去认识客观事物。客观事物具有多面性,我们有限的经验和知识几乎不可能以点代面地去做武断的判断:非此即彼,非是即非。
评论的内容中,有一些以排斥他人观点的方式来强调个人观点,个人以为是不恰当的。
吸收,学习他人的知识和经验,不应该用这样的方式与人交流。
====================================================================
对以前的Web应用进行维护和功能增加。该应用使用了Dojo.js库。
当时,由于Dojo库不能满足项目需求,曾对其进行了部分修改,修改的地方很零散。修改的人对Dojo.js也是一知半解,一边尝试一边修改。
没有留下任何文档。
于是乎,Dojo.js不再是那个开源的,不断被更新升级的Dojo.js了,变成了特定应用下的一个特定库。
可怕的是没有人对它有超过10%的理解。
自己不能掌控的东西都是心存疑虑的,不是吗?
我猜想可能90%以上的网络应用了使用了JQuery,Dojo.js之类的第三方库。
更大胆滴猜想90%以上的使用者没有去读这些库的源代码,即便读了,也读不懂;即使懂了,也不会修改;即使会修改,也不会去改。
网络应用需要前端代码尽量的体积小巧,能够快速在网路上传输。
通常,我们的应用只是使用了第三方库中很少的一部分,其余大部分是冗余的。体积变大,是副作用之一。
为了快速开发,我们使用第三方库。通常是不会深入了解其内部构造和实现原理的。使用了自己不能掌控的代码,是副作用之二。
进而,对于第三方库的升级有可能带来的风险,是无法完全掌控的,这是副作用之三。
有人说,这是为了避免重复制造轮子。当然有道理。
不过在真实的实践中,需要谨慎衡量代价。
不去造一个适合自己的轮子,而是拿来主义,仅因为这样省事吗?
难道不是想象或事实中的造轮子很难?
如果这个轮子的制造没有那么复杂,没有那么难呢?你会考虑重复造轮子吗?
一味地强调“不要重复造轮子”,这是“真理”还是“陷阱”?
越来越多的库,越来越多的框架。现在的软件开发者已经越来越远离最基础的技术,而是站在厚厚“平台”,“框架”之上,进行可以不用了解技术本质就能投入生产的流水线上了。
从某种角度来说,这是一种“进步”。而对于大多数从事软件开发的人而言,他们其实不是软件工程师,而是熟练的代码堆砌工人,是流水线的工人。
起码这对我而言,是非常糟糕的结果。不能让它发生。
少用现成的轮子(如果你能掌控它,不妨一用)。
造轮子能够近距离接触技术的本质,很有意义。
所谓技术者,应该对技术本质有了解,进而有所创造,你说呢?
- 网络前端应该少用第三方库
- 前端第三方API
- 第三方库Reachability检测网络状态
- 关于第三方的网络库
- 第三方网络编程
- 使用第三方库是否应该做二次封装
- 前端第三方接口调用
- 网络通信第三方框架
- 第三方判断网络状态
- 【IOS网络通信】socket第三方库 AsyncSocket(GCDAsyncSocket)
- 【IOS网络通信】socket第三方库 AsyncSocket(GCDAsyncSocket)
- 【IOS网络通信】socket第三方库 AsyncSocket(GCDAsyncSocket)
- 第三方库 -> 网络组件 -> AFNetworking 和 ASIHTTPRequest 的对比
- 【IOS网络通信】socket第三方库 AsyncSocket(GCDAsyncSocket)
- 【iFD出品】原创第三方库(一)网络数据下载
- 【IOS网络通信】socket第三方库 AsyncSocket(GCDAsyncSocket)
- 46.【IOS网络通信】socket第三方库 AsyncSocket(GCDAsyncSocket)
- 【iOS网络通信】socket第三方库 AsyncSocket(GCDAsyncSocket)
- 1.5新特性
- 聚簇因子
- poj 2594-flody + 最小路径覆盖
- 毕业的日子
- image的onclick()不提交表单
- 网络前端应该少用第三方库
- 开通博客了
- matlab 调用c++ bug mwsize
- css文字垂直居中-好文收藏
- Linux(centos)下用vim搭建php开发环境IDE
- 灵动标签调用新闻正文内容第一张图片的方法
- UVa 10132 - File Fragmentation 贪心+枚举
- 在面试时怎么回答java垃圾回收机制
- 编写DLL函数时的 __declspec(dllexport) 与 __declspec(dllimport)