https://github.com/JacksonTian/fks

http://code.csdn.net/news/2819224

本文为大家整理了一系列关于JavaScript的常用工具,包括常用工具、前端和后端工具,从测试到构建,内容丰富,值得收藏。下面是根据推荐工具整理的思维导图。

点此看大图

常规工具

脚手架工具

  • Yeoman:它旨在为开发者提供一系列健壮的工具、程序库和工作流,帮助开发者快速构建漂亮的Web应用。

构建工具(自动)

  • Grunt.js:生态强大,发展速度快,有大量可选插件;
  • Gulp.js:流式项目构建工具;
  • Browserify.js:Node.js模块,主要用于改写现有的CommonJS模块,使得浏览器端也可以使用这些模块;
  • Uglify.js:JavaScript解析器、压缩工具和代码美化库。

软件包管理工具

  • Homebrew (Mac OS):Apple Mac OS下的软件安装工具;
  • Apt:Debian、Ubuntu等系列Linux系统的软件包管理工具,可用来安装、删除、升级软件等;
  • NPM:Node.js的官方软件包管理器;
  • Bower:twitter的一个开源项目,用于web包管理。

前端

MVC框架

  • Backbone.js:提Web开发的框架,为复杂的Javascript应用程序提供模型(models)、集合(collections)、视图(views)结构;
  • Ember.js:可以创建功能丰富的Web应用程序,并提供一个标准的应用程序架构的JavaScript框架;
  • Angular.js:一组用来开发Web页面的框架、模板以及数据绑定和丰富UI的组件,无需进行手工DOM操作,还允许为App扩展HTML类库。

模板

  • Handlebars.js:JavaScript页面模板库,可以为开发者提供必需的语义模板;
  • Mustache.js:是Mustache模板系统的JavaScript实现,语法逻辑比较简单,适用于C++、Clojure、Erlang、Go、Java、JavaScript等语言;
  • Jade:Node模板引擎,主要用于Node.js里的服务端模板;
  • Haml-js:允许在JavaScript项目中使用Haml语法,与原生的Haml拥有差不多的功能;
  • Eco:可以用来将CoffeeScript逻辑嵌入到标记中。

测试

  • Casper.js:CasperJS是一个为PhantomJS和SlimerJS准备的导航脚本及测试工具;
  • Zombie.js:Zombie.js是一个轻量级的框架,可以在一个模拟的环境下测试客户端的 JavaScript 代码,且不需要浏览器的帮助。

后端

服务器

  • Express:Node的web应用框架;
  • Node:Node.js是构建于Chrome JavaScript运行时基础上的一个平台,可快速构建网络应用。

数据库

  • MongoDB:开源的文档存储数据库,也是领先的非关系型数据库;
  • Postgresql:开源的对象-关系数据库服务器;
  • SQL:结构化查询语言,可用来存取数据以及查询、更新和管理关系数据库系统。

架构

  • RESTful:目前流行的互联网软件架构,结构清晰、易于理解、方便扩展。

测试

  • Cucumber.js:采用受欢迎的行为驱动开发工具并将其应用到JavaScript堆栈中。
  • Jasmine:行为驱动的开发测试框架,不依赖浏览器、DOM或任何其他JavaScript架构,较适合网站、Node.js项目或应用在任何可以运行JavaScript的地方。
  • Mocha:运行在Node.js和浏览器之上,主要用于异步测试。
  • Q-Unit:单元测试框架,常用于jQuery、jQuery UI和jQuery移动项目,也可以用于测试常规的JavaScript代码。

断言库(Assertion Libraries)

  • Chai:一个用于Node的BDD/TDD断言库(Assertion Libraries),可与任何JavaScript测试框架进行搭配。

函数式编程工具

  • Underscore.js:JavaScript库,提供了大量有用的函数编程工具,无需扩展任何内置对象;
  • Lo-Dash:提供自定义、性能和一致性的JavaScript库。

大家可以在 Github上查看本推荐列表的最新状况。

Via  CodeFellows

延伸阅读

前端技能汇总:https://github.com/JacksonTian/fks

---------------------------------------------------------

Frontend Knowledge Structure

项目起源

还记得@jayli 的这幅前端知识结构图么。

图片的形式具有诸多的不便。缺失源图的我们,无法为此图贡献些什么,随着时间的迁移,或许有些技术点会发生改变,所以有了这个GitHub项目。我们可以通过协作的方式来共同维护这个项目。Git的历史记录也可以见证前端行业的一些变迁。

可视化效果

前端开发知识结构

前端书籍推荐

★越少越简单,越适合入门,★多的要么是难度比较高,要么是比较适合在后面看,比如讲性能之类的书.

CSS

JavaScript

性能实践

版本控制工具

后端书籍推荐

Linux管理

Linux编程

C/C++

前端工作面试

[转载]Frontend Knowledge Structure的更多相关文章

  1. 前端技能汇总 Frontend Knowledge Structure

    Frontend Knowledge Structure 项目起源 还记得@jayli 的这幅前端知识结构图么. 图片的形式具有诸多的不便.缺失源图的我们,无法为此图贡献些什么,随着时间的迁移,或许有 ...

  2. 无废话网页重构系列——(2)来套Web重构装备

    本篇主要从语言入门.规范.工具.构建.库.框架.版本控制等各方面展开,篇幅会有点长,涉及到的工具类,会另开博文详细介绍. 另外说明Web重构是Web前端的开始,主要侧重Web页面,如实现布局与兼容,符 ...

  3. web前端知识总结

    前言: 一直想着整理一下关于前端的知识体系和资料,工作忙了些,挤挤总会有的,资料很多,就看你能不能耐下心坚持去学了,要多学多敲多想,祝你进步~ 学习之前首先要大概了解什么是HTML ,CSS , JS ...

  4. 2016 JS 笔试题汇总:

    1 1 1 CS&S(中软国际): 1 JavaScript 循环表达式: 2  JavaScript表达式boolean返回值: 3 网页中的事件/HTML 事件属性/JavaScript ...

  5. A simple test

        博士生课程报告       视觉信息检索技术                 博 士 生:施 智 平 指导老师:史忠植 研究员       中国科学院计算技术研究所   2005年1月   目 ...

  6. October 27th, 2017 Week 43rd Friday

    The only thing predictable about life is its unpredictability. 人生唯一可以预知的,就是它的变化莫测. Is it really unpr ...

  7. [转载] TLS协议分析 与 现代加密通信协议设计

    https://blog.helong.info/blog/2015/09/06/tls-protocol-analysis-and-crypto-protocol-design/?from=time ...

  8. 最少知识原则(Least Knowledge Principle)

    最少知识原则(Least Knowledge Principle),或者称迪米特法则(Law of Demeter),是一种面向对象程序设计的指导原则,它描述了一种保持代码松耦合的策略.其可简单的归纳 ...

  9. [转载] .NET 中可以有类似 JVM 的幻像引用吗?

    近日发现一篇不错的文章,文中列举了一些 GC 场景,探讨了 在 .NET 中是需要实现像 JVM 的中的幻像引用.有人质疑其不切实际,也有像 Ayende 大神一言不合就自己做了个 demo. Do ...

随机推荐

  1. 173. Insertion Sort List【LintCode by java】

    Description Sort a linked list using insertion sort. Example Given 1->3->2->0->null, ret ...

  2. 区块链学习:Windows下搭建以太坊私有链环境

    一:安装geth客户端 Windows要求必须是64位系统,从官方网站下载编译好的win64客户端,下载解压后只有一个Geth.exe问价,运行安装即可,下载地址如下: https://github. ...

  3. Final互评------《I do》---- 二次元梦之队

    一.基于NABCD评论作品,及改进建议 1.根据(不限于)NABCD评论作品的选题; N(Need,需求):该产品是一款休闲类的解密游戏,背景是编程知识.作为一款休闲游戏,有着基本的娱乐功能,可以给用 ...

  4. 2013337朱荟潼 Linux第二章读书笔记——从内核出发

    1.获取内核源码 1.1Git 分布式的:下载和管理Linux内核源代码: - 获取最新提交到版本树的一个副本 $ git clone git://git.kernel.org/pub/scm/lin ...

  5. Alpha版本事后诸葛亮

    目录 设想和目标 计划 资源 变更管理 设计/实现 测试/发布 团队的角色,管理,合作 总结: 本小组和其他组的评分 分工和贡献分 全组讨论的照片 问题 第一组提问回答:爸爸饿了队 第二组提问回答:拖 ...

  6. springboot+dubbo+zookeeper微服务实践demo

    微服务化越来越火,实际上是应互联网时代而生的,微服务化带来的不仅是性能上的提升,更带来了研发组织的更加便利,协作更加轻松,团队效能更高. 当然不能为了技术而技术,我们需要切合实际的对业务进行划分,降低 ...

  7. Java之序列化和反序列化

    序列化的对象: package test_demo.SerializableOper; import java.io.Serializable; /* * 序列化对象需要实现序列号接口 * */ pu ...

  8. 如何将img垂直居中?

    方法一: 这种方法可实现图片超出frame尺寸时,自动选择水平.垂直居中,效果如下 <div class="frame"> <img src="foo& ...

  9. 【大数据】Sqoop学习笔记

    第1章 Sqoop简介 Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MyS ...

  10. BZOJ2458 Beijing2011最小三角形(分治)

    类似于平面最近点对,考虑分治,即分别计算分割线两侧的最小三角形再考虑跨过线的三角形. 复杂度证明也是类似的,对于某一个点,在另一侧可能与其构成最小三角形的点在一个d*d/2的矩形内(两边之和大于第三边 ...