第一章 : javaScript框架分类及主要功能

从内部架构和理念划分,目前JavaScript框架可以划分为5类。

第一种是以命名空间为导向的类库或框架,如果创建一个数组用new Array(),生成一个对象用new Object(),完全的java风格,因此,我们以某一对象为跟,不断为它添加对象和二级对象属性来组织代码,如金字塔般垒起来,早期代表YUI,EXT(so,不是有活力的公司都还用它们)

第二种是以类工厂为导向的框架。著名的有Prototype,还有mootools、Base2、Ten,它们基本上除了最基本的命名空间,其它模块都是一个由类工厂衍生出来的类对象。尤其mootools1.3把所有类型都封装成Type类型。

第三种,就是以jQuery为代表的以选择器为导向的框架,整个框架或库主体是一个特殊的类数组对象,方便集化操作(因为选择器一下子选择到了N个元素节点),于是一并处理了。jQuery有几样了不起的东西:

  • “无new实例化”技术,$( expr )就是返回一个实例,不需要显式的new出来;
  • get first set all访问规则;
  • 数据缓存系统。这样就可以赋值节点事件了。
  • IIFE也被发掘出来

第四种,就是加载器串联起来的框架,它都有复数个javascript文件,每个javascript文件都以固定规则编写。其中,最著名的莫过于AMD。模块化是javascript走向工业化的标志,“要编写复杂软件有不至于一派涂地的唯一方法,就是定义清晰的接口,把若干模块组合起来,如此一来,多数问题只会出现在局部,那么还有希望对局部进行改进和优化,而不至于牵动全身。”许多企业内部框架都基本采取这种架构,如Dojo,YUI,Kissy,qwrap,mass,(requirejs,Seajs)等.

第五种,就是具有明确的分层构架的MV*,首先是javascript MVC,(现在叫Canjs)、backbone.js和spinejs,然后更符合前端实际的MVVM框架,如,knockout,emberm,angular,avalon,winjs。在MVVM框架中,原有的DOM操作被声明式绑定取代了,由框架自由处理,用户只专注于业务代码。

javascript框架的主要功能

jQuery框架类库的模块划分主要依据在github的源代码,基本上都是一个模块一个javascript文件,jQuery一开始专注于DOM操作的思路一开始就是对的,以后不断在兼容性上,性能上进行改进,经过多年发展,jQuery庞大的插件与完善的BUG提交渠道,使得自身不断完善

Prototype.js早期的王者,它划分为四个部分。

  • 语言扩展
  • DOM扩展
  • Ajax部分
  • 废弃部分,新版本用其他方法实现原有功能

Prototype.js的语言扩展覆盖面很广,包括基本数据类型和从语言借鉴过来的“类”。其中,Enumerable只是一个普通的方法包,ObjectRange、PeriodicalExecuter、Templat则是用Class类工厂生产出来的(来自社区贡献)。

mootools由于API设计的非常优雅,其官方网站上有很多优质插件,才没有在原型扩展的反对浪潮中没落。

Rightjs:又一个在原型扩展上的框架,MochiKit 一个Python风格的框架,十分独到,能进框架前十。
Ten:日本著名博客社区 Hatena的Javascript框架,amachang开发,受Prototype.js影响,是最早以空间命名的框架典范;mass Framework:一个以大模块开发为目标,jQuery式的框架。

经过细节的比较,我们很容易得出以下框架特征的结论

    • 对基本数据的操作是基础,如jQuery提供的trim camelCase each map等方法,Prototype.js等入侵式框架则在原型上添加camelize等方法
    • 类型的判定比不可少,常见的形式是jsXXX系列
    • 选择器,domReady Ajax是现代框架的标配
    • DOM操作是重中之重,节点的遍历,样式操作,属性操作也属于它的范畴
    • 现在主流的事件系统都支持事件代理
    • 数据的缓存与处理,目前浏览器也支持data-属性进行操作,但不好用,需要框架封装
    • 动画引擎
    • 插件的易开发和扩展性
    • 提供诸如Deferred这样处理异步的解决方案
    • 即使不专门提供一个类工厂,也应该存在一个名为extend或mixin的方法对对象进行扩展。jQuery虽然没有类工厂,但在jQuery UI中也不得不增加一个,可见其重要性。
    • 自从jQuery出来一个名为noConflict的方法,新兴的框架都带此方法,以求狭缝中生存。
    • 许多框架非常重视Cookie操作。
时间: 2024-08-06 03:09:23

第一章 : javaScript框架分类及主要功能的相关文章

javascript高级程序设计 第一章--javascript简介

javascript高级程序设计 第一章--javascript简介Netscape开发的javascript最初的目的就是处理由服务器负责的一些输入验证操作,而在js问世之前,必须                    把表单数据发到服务器端用户才能得到反馈.如今的js不再局限于简单的数据验证,而且具备了与浏览器窗口及其内容等所有方面的交互能力,js已经发展成功能全面的面向客户端的编程语言.javascript由Netscape公司开发,原名Livescript,是为了迎合当时的java热,所

OSGi原理与最佳实践:第一章 OSGi框架简介(2)

OSGi原理与最佳实践:第一章 OSGi框架简介(2) 由  ValRay 发布 已被浏览4884次 共有3条评论 已被3个人收藏 2013-08-16 21:23 顶(0) 踩(0) osgi原理与最佳实践 1.1.4 开发传统类型的应用 1.1.4.1 B/S 我们首先来看一下,如何基于 OSGi 来开发 B/S 结构的应用.B/S 结构应用程序的开发,可有两个选择:一个是在 OSGi 的框架中嵌入 Http 服务器,另外一个是在 Servlet 容器中嵌入 OSGi 框架.下面分别介绍这两

OSGi原理与最佳实践:第一章 OSGi框架简介(5)Spring-DM

OSGi原理与最佳实践:第一章 OSGi框架简介(5)Spring-DM 由  ValRay 发布 已被浏览8409次 共有3条评论 已被2个人收藏 2013-08-16 21:29 顶(1) 踩(0) osgi原理与最佳实践 1.3 Spring-DM 1.3.1 简介 Spring-DM 指的是 Spring Dynamic Modules.Spring-DM 的主要目的是能够方便地将 Spring 框架 和OSGi框架结合在一起,使得使用Spring的应用程序可以方便简单地部署在OSGi环

javascript数据结构和算法 第一章(Javascript编程环境和模型) 一

这一章介绍了我们在这本书中使用的描述各种数据结构和算法的Javascript的编程环境和编程架构. Javascript 环境 Javascript 在很长一段时间都是被作为web浏览器内置脚本编程语言来使用. 然而,在过去几年里,javascript编程环境得到了极大的发展,他们可以使javascript在桌面或者服务端运行. 在我们这本书中,我们使用其中的一个javascript环境:javascript shell:是Mozilla公司的javascript环境,被称为SpiderMonk

第一章 Javascript简介--《Javascript高级程序设计 》

Javascript诞生于1995年.当时它的主要目的是处理以前由服务器端语言负责的一些输入验证操作. 今天的Javascript不再局限于简单的数据验证,而是具备了与浏览器窗口及其内容等几乎所有方面交互的能力. 今天的Javascript已经成为一门功能全面的编程语言,能够处理复杂的计算和交互,拥有了闭包.匿名(拉姆达,lamda)函数,甚至元编程等特性. 欧洲计算机制造商协会(ECMA,European Computer Manufacturers Association) ISO/IEC(

第一章javascript简介

javascript 当诞生于1995 最开始是目的是处理在服务器端进行的表单验证:让其在服务器端验证改为在服务端验证,大大提高速度(当时网络慢) 如今javascript是一门功能全面的语言,包含闭包,匿名函数,甚至元编程等特征, 网景公司的兰登.艾奇与1995.2发布了liveScript的脚本语言 微软瞎几把乱搞高一套自己的标准叫JScript(未来的前端程序员都讨厌他) 两个版本肯定不行 当时也没有规范,,,于是,1997年以javascript1.1 位蓝本的建议提交给了欧洲计算机联盟

《avascript 高级程序设计(第三版)》 ---第一章 Javascript简介

这一章主要是介绍了 Javascript的一些历史: 1.Javascript主要由三个部分组成:ECMAScript,DOM,BOM. ECMAScript:现在主流浏览器已经全部支持. DOM:把整个HTML页面映射为一个多层节点结构.通过DOM提供的API,开发人员可以轻松自如的删除,添加,替换或修改节点. BOM:控制浏览器窗口大小,移动,AJAX对象等. 总结:Javascript是一种专门为网页交互而设计的脚本语言.

第一章 JavaScript简介

JS诞生于1995年,用于处理以前由服务器语言负责的一些验证操作.如今,JS具备了与浏览器窗口及其内容几乎所有方面交互的能力.JS语言能够处理复杂的计算和交互,拥有了闭包.匿名(lamda)函数,元编程等特性. 1.1JavaScript简介 1995年2月,Netscape公司开发了Livescript客户端脚本语言,为搭上媒体热炒Java的顺风车,临时将Livescript改名为JavaScript.随即在Netscape Navigator 3中发布了JavaScript1.1. 1996

Javascript权威指南——第一章Javascript概述

示例:javascript贷款计算器 相关技术: 1.如何在文档中查找元素: 2.如何通过表单input元素来获取用户的输入数据: 3.如何通过文档元素来设置HTML内容: 4.如何将数据存储在浏览器中: 5.如何使用脚本发起HTTP请求: 6.如何利用<canvas>元素绘图. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4