欢迎来到天天文库
浏览记录
ID:49601532
大小:15.01 KB
页数:2页
时间:2020-03-02
《《js框架与js库》.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、“js库”与“js框架”作者:JKisJK 来源:博客园 发布时间:2011-02-1915:22 阅读:1960次 原文链接 [收藏] 市面上流行有诸多js库或框架,“库”与“框架”有些什么区别呢?就我粗略的理解,如下:库:lib,方法库,或组件库。核心库是给二次开发同学用的,它严谨、符合标准、独立健壮、无污染。框架:framework,主要是给用户使用,当然也给二次开发者用,它易使用、易扩展、可持续发展、可控。有些框架,依赖它开发的东西,只能在它的树荫下生存,而无法独立。这样的框架,就不能当库来用。如jquery。有些库,几乎没有框架的特性,所以易用性很差,如YUI
2、2,所以,它的用户群也只能局限于二次开发者,或水平比较高的开发者。为作框架,可能为了易用性,牺牲了严谨性。例如:渲染String与Array的prototype。这就与库的无污染理念冲突。所以,一个产品,如果需要它自己即能当框架,也能当库,那么,它就需要权衡取舍。当然,他也可以选择有多种形式的输出(输出成独立的库,或是易用的框架)。粗略如下表: 框架库英文frameworklib使用者页面使用者、二次开发者二次开发者追求重点易使用、易扩展、可持续发展、可控严谨、标准、独立健壮、无污染prototype“框架”针对String、Array等内部对象的扩展方法,它是基于原型的,仅能作为
3、原型方法库;而针对Element的扩展方法,是静态的(Element.methods满足QWrap所提的Helper规范)。作为一个框架,它直接演染String、Array等原型,来提升易用性。而Element.methods里定义的静态方法,经过methodize后就成原型方法(也是Retouch思路)。mootools“框架”单纯框架。由于方法都是基于原型的,所以当一个库来用的话,使用不方便jquery“框架”单纯dom框架。相于当QWrap所提的Wrap机制。这就难怪有部分期望它同时是一个库的同学,会觉得不够尽兴。YUI2“库”纯库(好像YUI一直叫YUILib)。作为框架的
4、功能(易用性等)比较弱。YUI3“框架”YUI3的种子文件,是一个模块管理的框架。YUI3也引入NodeList与Node的概念,来提升dom这一块易用性。不过,从YUI2到YUI3,它作为一个库的功能减弱了。它把自己种种组件,都套上了自己的框架(或框枷)。例如,只想复制测试它的一个selector,却不得不把它的整个build文件夹复制下来。Tangram“库”Tangram是一个典型的库,对组件开发者有很好的用处。如果库组织得很规范,那它变成框架也,只需要一套retouch就够了。QWrap“库”且“框架”通过Helper规范,来堆砌出一个标准、独立健壮、无污染的库Wrap+r
5、etouch来完成框架易用性与持续发展的需求。当然,还有个apps机制,让js有更多的灵活性。》点击查看原文...程序员找工作,就在博客园
此文档下载收益归作者所有