05 JavaScript框架汇总

JavaScript框架汇总

  • 目录
    • 框架定义
    • 为什么使用JS框架
    • JS框架分类
    • 常见JS框架
      • JQery
      • YUI DOM
      • Prototype
      • Mootools
      • ExtJS
      • Mochikit
      • Dojo
      • Kissy
      • Como Js
      • Jet
      • JavaScriptMVC
      • Qooxdoo
      • SproutCore
      • Sencha Touch
      • IUI
    • JS框架使用比例
    • 怎么选择一款JS框架
    • 如何去写一款框架
    • 写适合自己的框架

本文总结常用JavaScript框架,持续更新中

目录

框架定义

“框架”指一套包含工具、函数库、约定,以及尝试从常用任务中抽象出可以复用的通用模块,目标是使开发人员把重点放在任务项目所特有的方面,避免重复开发。

为什么使用JS框架

JavaScript 框架或库是一组能轻松生成跨浏览器兼容的 JavaScript 代码的工具和函数。每一个库都在众多流行的 Web 浏览器的现代版本上进行了可靠的测试。框架极大地简化了开发进程,并带来一致、可靠,以及高度交互性的用户界面。

JS框架分类

  • JavaScript库
    解决浏览器兼容性问题,快速开发Web应用,丰富UI效果
  • 跨浏览器RIA(Rich Internet Application)框架
    类桌面应用
  • 移动网络应用APP框架
    为移动设备而设计,基于HTML5和CSS3

常见JS框架

JQery

由John Resig创建,其宗旨是——WRITE LESS,DO MORE,写更少的代码,做更多的事情。它是轻量级的JS库(压缩后只有21k),同时兼容CSS3和各种浏览器。

YUI DOM

Prototype

它是一个面向对象的JavaScript框架,封装并简化和扩展一些
在Web开发过程中常用到JavaScript方法与Ajax交互处理过程。

Mootools

MooTools 是一个简洁,模块化,面向对象的JavaScript框架。

ExtJS

ExtJS是一个跨浏览器,用于开发RIA应用的JS框架。

Mochikit

MochiKit 是一种有用的高端 JavaScript 库。

Dojo

Dojo 是一个强大的面向对象JavaScript框架。

Kissy

KISSY 是一个小巧灵活、简洁实用的 UI 类库。

Como Js

Como JS是一款代码简易而功能强大的Javascript框架,能
够异步按需加载js和css文件,增强page的加载速度。

Jet

Jet适用于Web Page和Web App开发。

JavaScriptMVC

JavaScriptMVC是一个功能强大的JavaScript framework,也是一个很棒的JavaScript测试框架。

Qooxdoo

Qooxdoo是一个 Ajax 应用框架使用基于面向对象JavaScript。

SproutCore

SproutCore苹果对SproutCore的解释为“开源,平台无关,类Cocoa的JavaScript框架,用于创建具有桌面应用程序外观和操作感的Web应用程序”。

Sencha Touch

Sencha Touch可以让你的Web App看起来像Native App。

IUI

IUI 包含一套 JavaScript 库,CSS 式样表及图片,是一个轻量级 iPhone UI 库,可以为你的 Web 程序带来 iPhone 般的体验。

JS框架使用比例

05 JavaScript框架汇总_第1张图片

怎么选择一款JS框架

  • 你的项目需求
  • 框架支持A级浏览器吗
  • 是否利于团队协作开发
  • 框架是否成熟
  • 文档是否健全
  • 社区支持是否充足
  • 框架的扩展性如何
  • 你是否喜欢API的风格
  • 代码执行速度性能如何
  • 代码是否为模块化
  • 代码可重用性如何

如何去写一款框架

  • 写一个稳定的API
  • 一个命名空间
  • 不要扩展原生的对象
  • 代码要容易被扩展
  • 处理好浏览器兼容性问题
  • 写好文档
  • 测试你的框架

写适合自己的框架

  • 分析业务需求
  • 如何组织框架
  • 实现底层库
  • 实现UI库
  • 实现扩展机制
  • 兼容其它类库

你可能感兴趣的:(计算机应用类技术)