原文:
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 是一个可更换皮肤、基于...
JavaScript框架资源整合.part2
Dojo是一个高度模块化的JavaScript框架,以其强大的功能和灵活性著称。它由三个主要部分组成:Core、Dijit和DojoX。Core部分提供了对AJAX、事件处理、包装、CSS查询、动画以及JSON操作的支持,使得开发者可以轻松...
jQuery课件,jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”。
标题提到的“一个强大的和高效的Javascript框架”很可能是指某个知名的JS框架,如React、Angular或Vue.js等。这些框架都有各自的特点和优势,能够帮助开发者构建功能丰富的应用程序。 JavaScript框架的核心目标是...
Ember.js是一个成熟的MVC框架,拥有丰富的内置功能。虽然其体积较大,但提供了诸如Glimmer VM这样的性能优化工具。Ember.js在处理大型应用时,其性能表现稳定,但由于其全面性,可能会在小项目中显得过于冗余。 ...
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 框架
Vue.js(简称Vue)是一个轻量级的前端框架,由尤雨溪开发,它以数据绑定和组件化为核心,易于学习且功能强大。Vue的特点在于它的响应式系统,能够自动追踪依赖关系,当数据发生变化时,视图会自动更新。此外,Vue还...
仿照 jquery源码编写的 简易框架的源码 出自的妙味课堂远程课
4. **JavaScript框架**: 这个“公司的javascript框架”可能是自定义的或基于现有框架的解决方案,如React、Angular、Vue等。JavaScript框架提供了结构化的方法来组织代码,简化DOM操作,管理状态,处理事件,以及...
总结来说,Drag5是一个专为简化和增强JavaScript拖拽功能设计的框架,它的简易性和灵活性使得开发者能够快速构建出具有高度定制性的拖拽效果,从而提升Web应用的用户体验。通过深入理解Drag5的工作原理和使用方法,...
云计算是一个热门的概念,它给企业软件开发带来了很大的影响。云计算的出现,让用户可以透明地使用资源,使得IT资源池变得无限。云计算的关键是虚拟化,它可以让厂商按照用户不断变化的需求,提供相应的硬件、软件和...
本文将详细解析这些技术如何协同工作,创建出一个具有可收缩左侧菜单和并排子菜单的框架结构。 首先,HTML(HyperText Markup Language)是构建网页的基础,用于定义页面结构。在这个案例中,HTML会创建一个基础的...
OpenLayers 是一个强大的开源GIS(地理信息系统)JavaScript框架,它允许开发者在网页上创建交互式的地图应用。这个框架以其灵活性、可扩展性和丰富的功能而受到广泛的赞誉,为开发者提供了在Web环境中集成地理数据...