你的位置:首页 > Java教程

[Java教程]Javascript开发之工具归纳


写在前面

由于JS开发对我来说是全新的技术栈,开发过程中遇到了各种各样的框架、工具,同时也感叹一下相对于.Net的框架(工具框架以及测试框架等)JS框架真的是太丰富了、社区的力量果然强大~~~也是由此希望本文能概括常用的框架以及一些基本理念,不断完善中,希望各位有经验的朋友能多多提意见。

1. 基础知识篇

Node

Node全称是Node.js是一套javascript运行时环境,实际上是对Google V8引擎的一个封装。

Node.js官网:https://nodejs.org/

Node.js中文社区:https://cnodejs.org/

51CTO-Node.js专题:http://developer.51cto.com/art/201109/290443.htm

 

Ember.js

Ember.js是一套javascript的框架,Ember是一个雄心勃勃的Web应用程序,消除了样板,并提供了一个标准的应用程序架构的JavaScript框架。

更多请参考《Ember.js系列文章》

 

Ember-cli

Ember-cli是Ember.js的一套命令行工具,方便快捷的增加模板、路由、模型、视图等MVC结构,还提供有/无视图的测试框架,提高开发效率,是开发Ember.js必不可少的工具。

官方网站:http://www.ember-cli.com/

 

ES6

ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Assocication)通过ECMA-262标准化的脚本程序设计语言。这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实际上后两者是ECMA-262标准的实现和扩展。

博友介绍ES6的文章:http://www.cnblogs.com/Wayou/p/es6_new_features.html

阮一峰的ES6书籍:http://www.ruanyifeng.com/blog/2014/04/ecmascript_6_primer.html

 

Travis CI

Travis CI是在软件开发领域中的一个在线的,分布式的[1]持续集成服务,用来构建及测试在GitHub[2]托管的代码。这个软件的代码同时也是开源的,可以在GitHub上下载到[3],尽管开发者当前并不推荐在闭源项目中单独使用它。[4]

它提供了多种编程语言的支持,包括Ruby,JavaScript,Java,Scala,PHP,Haskell和Erlang在内的多种语言。[5]许多知名的开源项目使用它来在每次提交的时候进行构建测试,比如Ruby on Rails,Ruby和Node.js。[5][6]

 

注:目前在Github上Travis CI比较流行,其不仅仅是一个持续集成的框架,而且还能利用github上的更改“钩子”进行代码变化时自动运行测试,而且还可以将测试结果图标用Markdown的语法绑定到你自己的ReadMe.md中简单方便实用。

Travis CI天生支持Node.js的语法无需指定语言,所以可以同时支持两种组合语言测试,例如Node.js+Python、Node.js+Scala等,但前提是Node.js+『』的组合。

 

官方网站:https://travis-ci.org/

 

RESTful API

RESTful架构是一种流行的互联网软件架构,它结构清晰,符合标准,易于理解,扩展方便。
REST是Representational State Transfer的缩写,翻译为“表现层状态转化”。表现层其实就是资源,因此可以理解为“资源状态转化”。
网络应用上的任何实体都可以看作是一种资源,通过一个URI(统一资源定位符)指向它。

非常有价值的参考资料:RESTful JSONAPI,理解RESTful架构

 

2. 包管理工具篇

Npm

NPM的全称是Node Package Manager[1] ,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准。

如果你熟悉ruby的gem,Python的pypi、setuptools,PHP的pear,那么你就知道NPM的作用是什么了。

Nodejs自身提供了基本的模块,但是开发实际应用过程中仅仅依靠这些基本模块则还需要较多的工作。幸运的是,Nodejs库和框架为我们提供了帮助,让我们减少工作量。但是成百上千的库或者框架管理起来又很麻烦,有了NPM,可以很快的找到特定服务要使用的包,进行下载、安装以及管理已经安装的包。

官方网站:https://www.npmjs.com/

 

Bower

Bower 是一个针对Web开发的包管理器。该工具主要用来帮助用户轻松安装CSS、JavaScript、图像等相关包,并管理这些包之间的依赖。

功能有些类似于Component。不同之处是,Component是围绕GitHub系统构建的,而Bower既可以管理基于本地资源的包,也可以管理基于git系统的包。在Bower中,可以通过 component.json文件来定义包的名称、版本、代码中的主要元素、版本之间的依赖关系等。

官方网站:

 

3. 编辑器篇

Sublime 3

付费IDE。

官方网站:http://www.sublimetext.com/

 

WebStorm

付费IDE,30天免费,JetBrains出品,提供大量插件。

官方网站:http://www.jetbrains.com/webstorm/

 

4. 测试框架篇

QUnit

QUnit是一个强大的JavaScript单元测试框架,该框架是由jQuery团队的成员所开发,并且是jQuery的官方测试套件。Qunit是Jquery的单元测试框架,并且被广泛使用在各个项目中。

官方网站:http://qunitjs.com/

 

Jshint

JSHint 是一个JavaScript 的代码质量检查工具,主要用来检查代码质量以及找出一些潜在的代码缺陷。

官方网站:http://jshint.com/

 

Selenium

Selenium[1] 也是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7、8、9)、Mozilla Firefox、MozillaSuite等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。

官方网站:http://www.seleniumhq.org/

 

WebDriverTest

说起Web自动化测试,首先想到的就是Selenium。其实WebDriver就是基于Selenium的一个自动化测试类库,但它不再是运行在浏览器内的JS程序,而是自己可以控制浏览器。旨在改进Selenium1.0中出现的诸多问题,并且提供了非常易用、可读性很强的API。

官方网站:

 

 

未完待续。。。