Web 前端开发技术资料集锦

最近又开始从事 web 方面的工作了, 正好花点时间把以前学习过的资料总结下, 以便以后查阅, 同时也共大家学习参考. 顺便一提这只是一个技术参考而已, 并不是什么学习指南, 切记..

Prototype.js

Prototype是由Sam Stephenson所开发的JavaScript函式库。它提供了完整的Ajax框架及其它的工具。它的实作完全包含在一个单一的prototype.js档案中。被应用于Ruby on Rails、script.aculo.us和Rico等。–>wikipedia

  1. Website
    http://prototypejs.org/

  2. GitHub
    sstephenson/prototype/

jQuery

jQuery是一套跨浏览器的JavaScript库,简化HTML与JavaScript之间的操作。由约翰·雷西格(John Resig)在2006年1月的BarCamp NYC上发布第一个版本。目前是由Dave Methvin领导的开发团队进行开发。全球前10,000个访问最高的网站中,有65%使用了jQuery,是目前最受欢迎的JavaScript库。–>wikipedia

  1. Website
    http://jquery.com/

  2. GitHub
    jquery/jquery

AngularJS

AngularJS是一款开源JavaScript库,由Google维护,用来协助单一页面应用程序运行的。它的目标是通过MVC模式(MVC)功能增强基于浏览器的应用,使开发和测试变得更加容易。

库读取包含附加自定义(标签属性)的HTML,遵从这些自定义属性中的指令,并将页面中的输入或输出与由JavaScript变量表示的模型绑定起来。这些JavaScript变量的值可以手工设置,或者从静态或动态JSON资源中获取。–>wikipedia

  1. Website
    https://angularjs.org/

  2. GitHub
    angular/angular.js

RequireJS

最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载。
这样的写法有很大的缺点。首先,加载的时候,浏览器会停止网页渲染,加载文件越多,网页失去响应的时间就会越长;其次,由于js文件之间存在依赖关系,因此必须严格保证加载顺序(比如上例的1.js要在2.js的前面),依赖性最大的模块一定要放到最后加载,当依赖关系很复杂的时候,代码的编写和维护都会变得困难。
require.js的诞生,就是为了解决这两个问题
–>
Javascript模块化编程(一):模块的写法
Javascript模块化编程(二):AMD规范
Javascript模块化编程(三):require.js的用法

  1. Website
    requirejs_EN
    requirejs_CN

  2. GitHub
    jrburke/requirejs

Handlebars.js

Handlebars 是 JavaScript 一个语义模板库,通过对view和data的分离来快速构建Web模板。它采用”Logic-less template”(无逻辑模版)的思路,在加载时被预编译,而不是到了客户端执行到代码时再去编译, 这样可以保证模板加载和运行的速度。Handlebars兼容Mustache,你可以在Handlebars中导入Mustache模板。–>Handlebars.js 模板引擎

  1. Website
    http://handlebarsjs.com/

  2. GitHub
    nodejs/node

Underscore.js

Underscore 是一个 JavaScript 工具库,它提供了一整套函数式编程的实用功能,但是没有扩展任何 JavaScript 内置对象。 他解决了这个问题:“如果我面对一个空白的 HTML 页面,并希望立即开始工作,我需要什么?” 他弥补了 jQuery 没有实现的功能,同时又是 Backbone 必不可少的部分。

Underscore 提供了100多个函数,包括常用的:map、filter、invoke — 当然还有更多专业的辅助函数,如:函数绑定、JavaScript 模板功能、创建快速索引、强类型相等测试等等。–>css88.com

  1. Website
    http://underscorejs.org/

  2. GitHub
    jashkenas/underscore

Font-Awesome

Font Awesome为您提供可缩放的矢量图标,您可以使用CSS所提供的所有特性对它们进行更改,包括:大小、颜色、阴影或者其它任何支持的效果。
其实在 Bootstrap 中的字体图标使用的就是这套, 之所以要单独拿出来说, 只是感觉比较重要. 哈哈..

  1. Website
    Font-Awesome_EN
    Font-Awesome_CN

  2. GitHub
    FortAwesome/Font-Awesome

Node.js

Node.js是一个开放源代码、跨平台的、可用于服务器端和网络应用的运行环境。Node.js应用JavaScript语言写成,在Node.js运行时运行。它支持OS X、Microsoft Windows、Linux、FreeBSD、NonStop、IBM AIX、IBM System z和IBM i。Node.js由Node.js基金会拥有和维护,该基金会与Linux基金会有合作关系。–>wikipedia

  1. Website
    https://nodejs.org/

  2. GitHub
    nodejs/node

Grunt.js

GruntJS 是基于JavaScript的命令行构建工具,它可以帮助开发者们自动化重复性的工作。你可以把它看成是JavaScript下的Make或者Ant。它可以完成诸如精简、编译、单元测试、lint检查等工作。由于越来越多的开发移到了客户端,帮助开发者更高效地工作的工具就更有用了。

  1. Website
    gruntjs_EN
    gruntjs_CN

  2. GitHub
    gruntjs/grunt

Gulp.js

gulp 是基于 Nodejs 的自动任务运行器,能自动化地完成javascript/coffee/sass/less/html/image/css等文件的的测试、检查、合并、压缩、格式化、浏览器自动刷新、部署文件生成,并监听文件在改动后重复指定的这些步骤。在实现上,gulp 借鉴了Unix操作系统的管道(pipe)思想,前一级的输出,直接变成后一级的输入,使得在操作上非常简单.–>segmentfault

  1. Website
    gulpjs_EN
    gulpjs_CN

  2. GitHub
    gulpjs/gulp

Sass

Sass(英文全称:Syntactically Awesome Stylesheets)是一个最初由Hampton Catlin设计并由Natalie Weizenbaum开发的层叠样式表语言。[1][2]在开发最初版本之后,Weizenbaum和Chris Eppstein继续通过SassScript来继续扩充Sass的功能。SassScript是一个在Sass文件中使用的小型脚本语言。–>wikipedia

  1. Website
    Sass_EN
    Sass_CN
  1. GitHub
    gulpjs/gulp

Less

LESS是一种由Alexis Sellier设计的动态层叠样式表语言,受Sass所影响,同时也影响了Sass的新语法:SCSS。[1]

LESS是开源的,其第一个版本由Ruby写成,但在后续的版本当中,Ruby逐渐被替换为JavaScript。受益于JavaScript,LESS可以在客户端上运行(IE6+、Webkit、Firefox),也可以在服务端运行(Node.js、Rhino)。[2]

在语法方面,LESS与CSS较为接近,一个合法的CSS代码段本身也是一段合法的LESS代码段。LESS提供变量、嵌套、混合、操作符、函数等一般编程所需的抽象机制。[2]–>wikipedia

  1. Website
    Less_EN
    Less_CN

  2. GitHub
    less/less.js

Jade

Jade 是一个高性能的模板引擎,它深受 Haml 影响,它是用 JavaScript 实现的,并且可以供 Node 使用。

  1. Website
    Jade_EN
    Jade_CN

  2. GitHub
    jadejs/jade

Bootstrap

Bootstrap是一组用于网站和网络应用程序的工具。Bootstrap是自由软件,包括HTML、层叠样式表(CSS)及JavaScript的框架,提供字体排印、窗体、按钮、导航及其他各种组件,并提供了Javascript扩展,旨在使动态网页和Web应用的开发更加容易。–>wikipedia

  1. Website
    Bootstrap_EN
    Bootstrap_CN

  2. GitHub
    twbs/bootstrap