原文:
http://www.cnblogs.com/rubylouvre/archive/2010/04/08/1706888.html
刚在Google Reader上看到
射雕推送过来的文章,正好我也在写一个
javascript类库,读完后感触很深,我是强烈支持"重复造轮子"的人,"重复造轮子"不是简单的模仿和抄袭,而是反复的思考和学习。实践是提高自身技术水平的最佳路径,你开发出来的框架不一定很多人使用,但自己技术的提高是毋庸置疑的。
非常欣赏这篇文章的开头。
引用
一个人学许多东西,不等于他会很多东西,学了也会忘的,学了也不等于会运用,这时我们应该整一个很复杂的东西出来,那么就知道自己到底去到什么程度。基于这样的理由,我开始搞框架了,像我群里面的许多人那样,因此请不要感到惊奇或敬佩什么的。我们总是免不了造轮子,前人走过路,我们也不得不走,只不过怀着不同的目的与心情。我也没有自大到想去挑战这个挑战那个,仅仅是想自食其力,或许其最好的结果是拿来与友人切磋切磋。于是掂量一下,总结如下,如果有好心人能迷津指点最好不过。
不过对有些细节的看法和作者有些不同,下面写出来供大家参考。
1. 模块化:从jQuery的作者的blog和代码可以看出他是linux和perl的爱好者,文件合并用Makefile,jQuery的函数名非常简洁,这和linux的console工具名和perl函数名非常类似,所以喜欢OO风格的人看jQuery代码可能比较乱。我认为jQuery的这种写法有助于缩小源代码体积,毕竟js与其它语言不同,都要经过下载过程,保持代码可读性和性能的前提下减少代码行数是应该的。
2. eval有时候还是要用的,比如JSON的解析。
3. 强大的类工厂: 我觉得"代码非常难组织、别人也很难读懂你的代码"和有没有类工厂无关,OO在有些方面(DOM、UI)确实比较直观易懂,我也不反对在js上使用OO,不过坚决反对就因为没有OO所以代码难懂这样的观点,有时候为了OO而OO会额外增加一堆代码,完全没必要。
4. 浏览器嗅探:各主流浏览器的navigator.userAgent还是很有规律的,不知道作者为什么说不可靠。
5. 扩展原生对象: 除了写出来的代码比较漂亮之外看不出好处。
分享到:
相关推荐
一个javascript框架
Dojo 是一个强大的面向对象 JavaScript 框架,由三大模块组成:Core、Dijit、DojoX。Core 提供了 Ajax、events、packaging、CSS-based querying、animations、JSON 等相关操作 API。Dijit 是一个可更换皮肤、基于...
Dojo是一个高度模块化的JavaScript框架,以其强大的功能和灵活性著称。它由三个主要部分组成:Core、Dijit和DojoX。Core部分提供了对AJAX、事件处理、包装、CSS查询、动画以及JSON操作的支持,使得开发者可以轻松...
Dojo是一个功能强大的JavaScript库,具有丰富的API和工具,特别适合大型企业级应用。它的优点在于其全面性和稳定性,支持Comet等高级技术,并得到了IBM和SUN等大公司的支持。然而,Dojo的缺点也很明显,较大的文件...
jQuery是一个兼容多浏览器的javascript框架,核心理念是write less,do more(写得更少,做得更多)。jQuery在2006年1月由美国人John Resig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由Dave ...
这个博客实例是基于.NET框架实现的,旨在展示如何使用该框架来创建一个功能完善的博客系统。在这个实例中,我们将深入探讨.NET框架的关键组件和技术,以及它们如何协同工作以实现博客的功能。 首先,我们需要理解...
3. **Angular**:Google开发的Angular是一个全面的框架,包含了构建大型复杂应用所需的一切。Angular的RouterModule提供了导航和路由功能,可以创建强大的导航结构,并与其他组件和服务紧密集成。 除了这些主要框架...
全栈型 Javascript 框架
仿照 jquery源码编写的 简易框架的源码 出自的妙味课堂远程课
4. **JavaScript框架**: 这个“公司的javascript框架”可能是自定义的或基于现有框架的解决方案,如React、Angular、Vue等。JavaScript框架提供了结构化的方法来组织代码,简化DOM操作,管理状态,处理事件,以及...
总结来说,Drag5是一个专为简化和增强JavaScript拖拽功能设计的框架,它的简易性和灵活性使得开发者能够快速构建出具有高度定制性的拖拽效果,从而提升Web应用的用户体验。通过深入理解Drag5的工作原理和使用方法,...
摘要:本文提出了一种基于JavaScript框架的混合应用开发技术,以解决当前混合应用开发框架在扩展性和应用性能方面的不足。该方法设计了JavaScript框架模块,并对终端的浏览器原生接口进行扩展和封装,不仅能够为混合...
OpenLayers 是一个强大的开源GIS(地理信息系统)JavaScript框架,它允许开发者在网页上创建交互式的地图应用。这个框架以其灵活性、可扩展性和丰富的功能而受到广泛的赞誉,为开发者提供了在Web环境中集成地理数据...
本文将深入探讨“ucren-2.8.20”这一友好的JavaScript框架,它以其优雅的界面和实用的功能,赢得了开发者们的青睐。 一、JavaScript框架的基础知识 JavaScript是一种在客户端浏览器上运行的编程语言,用于实现动态...
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(框架)于2006年1月由John Resig发布。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。...
因此,如何选择一个方便有效的JavaScript框架进行开发便成为一个大家关注的问题。 JavaScript框架的种类有很多,如jQuery、ExtJS、Prototype、MooTools等。每种框架都有其优缺点,本文将对jQuery和ExtJS进行对比...
这个压缩包"JavaScript_一个快速、简单、强大的博客框架,由Nodejs提供支持.zip"很可能包含了一个基于JavaScript和Node.js的博客框架,如Hexo。Hexo是一款快速、简洁且高效的静态博客框架,它使用Markdown(或其他...
Prototype是JavaScript的一个开源库,它扩展了JavaScript的基本对象和函数,提供了强大的面向对象特性。Prototype的核心功能包括类的创建、原型继承、元素操作、事件处理以及Ajax交互。通过Prototype,开发者可以更...
本项目为基于Flask框架的bbs博客后端开发源码,共计762个文件,其中包含401个JavaScript文件、252个CSS文件、28个Python编译文件、26个Python...该源码集成了多种前端与后端技术,旨在构建一个功能完善的bbs博客系统。