`
luolonghao
  • 浏览: 119131 次
  • 性别: Icon_minigender_1
  • 来自: Shanghai
社区版块
存档分类
最新评论

看完【一个javascript框架应有的功能】博客文章后有感

阅读更多
原文: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. 扩展原生对象: 除了写出来的代码比较漂亮之外看不出好处。
1
0
分享到:
评论

相关推荐

    javascript常见的7个框架

    Dojo 是一个强大的面向对象 JavaScript 框架,由三大模块组成:Core、Dijit、DojoX。Core 提供了 Ajax、events、packaging、CSS-based querying、animations、JSON 等相关操作 API。Dijit 是一个可更换皮肤、基于...

    JavaScript框架资源整合.part2

    JavaScript框架资源整合.part2

    21个强大的javascript框架.doc

    Dojo是一个高度模块化的JavaScript框架,以其强大的功能和灵活性著称。它由三个主要部分组成:Core、Dijit和DojoX。Core部分提供了对AJAX、事件处理、包装、CSS查询、动画以及JSON操作的支持,使得开发者可以轻松...

    Ext框架JavaScript开源框架

    Ext框架JavaScript开源框架Ext框架JavaScript开源框架

    10大js框架 javaScript框架

    Mootools是一个小巧(36KB压缩后)但功能强大的框架,以其优秀的面向对象编程(OOP)支持和灵活的插件机制著称。Mootools允许开发者选择最符合项目需求的功能模块,如Build Your Own Framework Effects插件(moo.fx...

    javascript框架的优缺点

    Dojo是一个功能强大的JavaScript库,具有丰富的API和工具,特别适合大型企业级应用。它的优点在于其全面性和稳定性,支持Comet等高级技术,并得到了IBM和SUN等大公司的支持。然而,Dojo的缺点也很明显,较大的文件...

    jQuery 1.6版本至1.9版本 一个兼容多浏览器的javascript框架

    jQuery是一个兼容多浏览器的javascript框架,核心理念是write less,do more(写得更少,做得更多)。jQuery在2006年1月由美国人John Resig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由Dave ...

    JavaScript框架教程及其经典案例.zip

    了解框架的基本概念和原理:在学习一个JavaScript框架之前,需要先了解它的基本概念和原理。这有助于你更好地理解和应用该框架。 掌握核心API和组件:每个JavaScript框架都有其独特的API和组件库。掌握这些核心API和...

    .net框架的一个博客实例

    这个博客实例是基于.NET框架实现的,旨在展示如何使用该框架来创建一个功能完善的博客系统。在这个实例中,我们将深入探讨.NET框架的关键组件和技术,以及它们如何协同工作以实现博客的功能。 首先,我们需要理解...

    对JavaScript框架的再思考.pdf

    云计算是一个热门的概念,它给企业软件开发带来了很大的影响。云计算的出现,让用户可以透明地使用资源,使得IT资源池变得无限。云计算的关键是虚拟化,它可以让厂商按照用户不断变化的需求,提供相应的硬件、软件和...

    一种基于JavaScript框架的混合应用开发技术.pdf

    摘要:本文提出了一种基于JavaScript框架的混合应用开发技术,以解决当前混合应用开发框架在扩展性和应用性能方面的不足。该方法设计了JavaScript框架模块,并对终端的浏览器原生接口进行扩展和封装,不仅能够为混合...

    一个非常好的开源GIS javascript框架

    OpenLayers 是一个强大的开源GIS(地理信息系统)JavaScript框架,它允许开发者在网页上创建交互式的地图应用。这个框架以其灵活性、可扩展性和丰富的功能而受到广泛的赞誉,为开发者提供了在Web环境中集成地理数据...

    JavaScript的框架jquery文件

    jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(框架)于2006年1月由John Resig发布。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。...

    JavaScript框架jQuery和ExtJS的对比研究.pdf

    因此,如何选择一个方便有效的JavaScript框架进行开发便成为一个大家关注的问题。 JavaScript框架的种类有很多,如jQuery、ExtJS、Prototype、MooTools等。每种框架都有其优缺点,本文将对jQuery和ExtJS进行对比...

    bBank 开源Javascript框架.zip

    bBank开源JavaScript框架,正如其名,是一个专为构建银行或金融相关Web应用而设计的框架。它结合了前端代码、JavaScript技术和ASP(Active Server Pages)服务器端脚本,旨在提供一个高效、安全且易用的开发环境。 ...

    watermarkjs是一个JavaScript框架用于以批量的方式对图片插入水印

    watermark.js 是一个 JavaScript 框架用于以批量的方式对图片插入水印。它利用 HTML5 canvas 标签实现,只要为图片添加特定的 class 就能添加水印。采用 ES6 编写而成,并通过 Babel 提供给当前的浏览器。支持网址、...

    JavaScript_一个快速、简单、强大的博客框架,由Nodejs提供支持.zip

    这个压缩包"JavaScript_一个快速、简单、强大的博客框架,由Nodejs提供支持.zip"很可能包含了一个基于JavaScript和Node.js的博客框架,如Hexo。Hexo是一款快速、简洁且高效的静态博客框架,它使用Markdown(或其他...

    javascript面向对象框架

    Prototype是JavaScript的一个开源库,它扩展了JavaScript的基本对象和函数,提供了强大的面向对象特性。Prototype的核心功能包括类的创建、原型继承、元素操作、事件处理以及Ajax交互。通过Prototype,开发者可以更...

    应用最广的十大Javascript框架

    7. **Dojo Toolkit** - Dojo是一个全面的JavaScript开发框架,包括UI组件、数据管理、动画效果以及国际化支持,旨在解决DHTML的复杂性,适用于大型企业级应用。 8. **YUI (Yahoo! User Interface Library)** - ...

    全栈型Javascript框架

    全栈型 Javascript 框架

Global site tag (gtag.js) - Google Analytics