寫在前面由于JS開發(fā)對我來說是全新的技術(shù)棧,開發(fā)過程中遇到了各種各樣的框架、工具,同時也感嘆一下相對于.Net的框架(工具框架以及測試框架等)JS框架真的是太豐富了、社區(qū)的力量果然強大~~~也是由此希望本文能概括常用的框架以及一些基本理念,不斷完善中,希望各位有經(jīng)驗的朋友能多多提意見。 1. 基礎(chǔ)知識篇NodeNode全稱是Node.js是一套javascript運行時環(huán)境,實際上是對Google V8引擎的一個封裝。 Node.js官網(wǎng):https:/// Node.js中文社區(qū):https://c/ 51CTO-Node.js專題:http://developer.51cto.com/art/201109/290443.htm Ember.jsEmber.js是一套javascript的框架,Ember是一個雄心勃勃的Web應用程序,消除了樣板,并提供了一個標準的應用程序架構(gòu)的JavaScript框架。 更多請參考《Ember.js系列文章》 Ember-cliEmber-cli是Ember.js的一套命令行工具,方便快捷的增加模板、路由、模型、視圖等MVC結(jié)構(gòu),還提供有/無視圖的測試框架,提高開發(fā)效率,是開發(fā)Ember.js必不可少的工具。 官方網(wǎng)站:http://www./ ES6ECMAScript是一種由Ecma國際(前身為歐洲計算機制造商協(xié)會,英文名稱是European Computer Manufacturers Assocication)通過ECMA-262標準化的腳本程序設(shè)計語言。這種語言在萬維網(wǎng)上應用廣泛,它往往被稱為JavaScript或JScript,但實際上后兩者是ECMA-262標準的實現(xiàn)和擴展。 博友介紹ES6的文章:http://www.cnblogs.com/Wayou/p/es6_new_features.html 阮一峰的ES6書籍:http://www./blog/2014/04/ecmascript_6_primer.html Travis CITravis CI是在軟件開發(fā)領(lǐng)域中的一個在線的,分布式的[1]持續(xù)集成服務,用來構(gòu)建及測試在GitHub[2]托管的代碼。這個軟件的代碼同時也是開源的,可以在GitHub上下載到[3],盡管開發(fā)者當前并不推薦在閉源項目中單獨使用它。[4] 它提供了多種編程語言的支持,包括Ruby,JavaScript,Java,Scala,PHP,Haskell和Erlang在內(nèi)的多種語言。[5]許多知名的開源項目使用它來在每次提交的時候進行構(gòu)建測試,比如Ruby on Rails,Ruby和Node.js。[5][6] 注:目前在Github上Travis CI比較流行,其不僅僅是一個持續(xù)集成的框架,而且還能利用github上的更改“鉤子”進行代碼變化時自動運行測試,而且還可以將測試結(jié)果圖標用Markdown的語法綁定到你自己的ReadMe.md中簡單方便實用。 Travis CI天生支持Node.js的語法無需指定語言,所以可以同時支持兩種組合語言測試,例如Node.js+Python、Node.js+Scala等,但前提是Node.js+『』的組合。 官方網(wǎng)站:https:/// RESTful APIRESTful架構(gòu)是一種流行的互聯(lián)網(wǎng)軟件架構(gòu),它結(jié)構(gòu)清晰,符合標準,易于理解,擴展方便。 非常有價值的參考資料:RESTful JSON API,理解RESTful架構(gòu) 2. 包管理工具篇NpmNPM的全稱是Node Package Manager[1] ,是一個NodeJS包管理和分發(fā)工具,已經(jīng)成為了非官方的發(fā)布Node模塊(包)的標準。 如果你熟悉ruby的gem,Python的pypi、setuptools,PHP的pear,那么你就知道NPM的作用是什么了。 Nodejs自身提供了基本的模塊,但是開發(fā)實際應用過程中僅僅依靠這些基本模塊則還需要較多的工作。幸運的是,Nodejs庫和框架為我們提供了幫助,讓我們減少工作量。但是成百上千的庫或者框架管理起來又很麻煩,有了NPM,可以很快的找到特定服務要使用的包,進行下載、安裝以及管理已經(jīng)安裝的包。 官方網(wǎng)站:https://www./ BowerBower 是一個針對Web開發(fā)的包管理器。該工具主要用來幫助用戶輕松安裝CSS、JavaScript、圖像等相關(guān)包,并管理這些包之間的依賴。 功能有些類似于Component。不同之處是,Component是圍繞GitHub系統(tǒng)構(gòu)建的,而Bower既可以管理基于本地資源的包,也可以管理基于git系統(tǒng)的包。 在Bower中,可以通過 component.json文件來定義包的名稱、版本、代碼中的主要元素、版本之間的依賴關(guān)系等。 官方網(wǎng)站: 3. 編輯器篇Sublime 3付費IDE。 官方網(wǎng)站:http://www./ WebStorm付費IDE,30天免費,JetBrains出品,提供大量插件。 官方網(wǎng)站:http://www./webstorm/ 4. 測試框架篇QUnitQUnit是一個強大的JavaScript單元測試框架,該框架是由jQuery團隊的成員所開發(fā),并且是jQuery的官方測試套件。Qunit是Jquery的單元測試框架,并且被廣泛使用在各個項目中。 官方網(wǎng)站:http:/// JshintJSHint 是一個JavaScript 的代碼質(zhì)量檢查工具,主要用來檢查代碼質(zhì)量以及找出一些潛在的代碼缺陷。 官方網(wǎng)站:http:/// SeleniumSelenium[1] 也是一個用于Web應用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE(7、8、9)、Mozilla Firefox、Mozilla Suite等。這個工具的主要功能包括:測試與瀏覽器的兼容性——測試你的應用程序看是否能夠很好得工作在不同瀏覽器和操作系統(tǒng)之上。測試系統(tǒng)功能——創(chuàng)建回歸測試檢驗軟件功能和用戶需求。支持自動錄制動作和自動生成 .Net、Java、Perl等不同語言的測試腳本。Selenium 是ThoughtWorks專門為Web應用程序編寫的一個驗收測試工具。 官方網(wǎng)站:http://www./ WebDriverTest說起Web自動化測試,首先想到的就是Selenium。其實WebDriver就是基于Selenium的一個自動化測試類庫,但它不再是運行在瀏覽器內(nèi)的JS程序,而是自己可以控制瀏覽器。旨在改進Selenium1.0中出現(xiàn)的諸多問題,并且提供了非常易用、可讀性很強的API。 官方網(wǎng)站: 未完待續(xù)。。。 |
|
來自: 昵稱10504424 > 《工作》