什么是腳本語言赞赖?
傳統(tǒng)語言要經(jīng)過編寫、編譯冤灾、鏈接前域、運行過程
為了縮短這個過程,以文本方式保存韵吨,只在被調(diào)用時進(jìn)行解釋或編譯话侄,需要解釋器才能
1、Javascript的重要概念:
作用域
上下文
閉包
函數(shù)
原型
事件編程
回調(diào)
繼承
2学赛、Javascript規(guī)范:
https://github.com/airbnb/javascript
3年堆、Node.js
服務(wù)器端Javascript解釋器
ChromeV8引擎
非阻塞IO
事件驅(qū)動
模塊定義:
模塊加載:
模塊配置:
文件讀寫:
數(shù)據(jù)庫:
……
http://nodejs.org/api/
4、Npm
管理Node.js模塊的依賴
環(huán)境變量NODE_PATH
npm install express
npm install –g express
npm install –g express@0.3.0
本地NPM庫:npm-server
https://github.com/stagas/npm-server
5盏浇、CommonJS
CMD:SeaJS
依賴就近
https://github.com/seajs/seajs/issues/242
NODEJS:
AMD Compatibility
http://nodejs.org/docs/v0.5.0/api/modules.html#aMD_Compatibility
6变丧、Express
簡單靈活的node.js Web應(yīng)用框架
提供豐富的HTTP工具
路由
MVVM
環(huán)境切換
HTTP處理:參數(shù)、cookie绢掰、header…
異常處理
模板渲染:ejs,jade..
http://expressjs.com/guide.html
7痒蓬、Mocha
單元測試
測試框架
斷言庫
測試用例
覆蓋率
Mock
私有方法測試
持續(xù)集成
http://html5ify.com/unittesting/slides/index.html#/
8、Moogoose
Schema:文件形式存儲的數(shù)據(jù)庫模型骨架
Model:由Schema發(fā)布生成的模型滴劲,具有抽象屬性與行為的數(shù)據(jù)庫操作對象
Entity:由Model創(chuàng)建的實體攻晒,同樣影響數(shù)據(jù)庫
9、Connect
可擴(kuò)展的HTTP服務(wù)器中間件
HTTP插件
basicAuth
bodyParser
compress
cookieParser
cookieSession
csrf
directory
errorHandler
favicon
Json
limit
logger
methodOverride
multipart
urlencoded
query
responseTime
session
static
staticCache
subdomains
vhost
10班挖、Eclipse Nodejs
11鲁捏、PhantomJS
命令行WebKit
執(zhí)行功能測試
屏幕抓屏
頁面自動化操作
性能監(jiān)控及測試
http://phantomjs.org/documentation/
12、Grunt
基于任務(wù)的Javascript項目構(gòu)建工具
完成文件壓縮萧芙、合并给梅、打包等
Gruntfile.js:Grunt任務(wù)聲明的地方
grunt-cli:命令行工具
grunt:構(gòu)建工具
grunt-init:腳手架工具
預(yù)定義任務(wù):concat假丧、uglify、jshint等
優(yōu)勢
環(huán)境/平臺依賴小
便捷的下載/版本管理
插件豐富
活躍的社區(qū)
http://gruntjs.com/getting-started
http://coding.smashingmagazine.com/2013/10/29/get-up-running-grunt/
13动羽、Bower
用于Web前端開發(fā)的包管理器
管理前端資源的依賴包帚,如css、javascript等
可脫離Node.js范疇
bower.json:前端資源依賴聲明
14运吓、AngularJS
Google開發(fā)渴邦,廣泛使用
雙向的數(shù)據(jù)綁定:同步DOM和Model
模板:輸入DOM而非String
MVC:更類似MVVM
DI:依賴注入,觀察者模式
Directives:自定義指令(標(biāo)簽拘哨、屬性)
測試友好:支持全面測試覆蓋
UI BootStrap:AngularUI
15几莽、Krakenjs
Paypal開發(fā)的Web框架
基于Grunt和Express
The kraken suite
16、Sass
變量
計算功能
嵌套
注釋
繼承
Mixin
顏色函數(shù)
插入文件
條件語句
循環(huán)語句
自定義函數(shù)
我們 Sass or Less ?
Compass宅静?
http://koala-app.com/index-zh.html
17章蚣、Node-webkit
使用HTML5、CSS3姨夹、Javascript編寫桌面程序UI
使用Chromium實現(xiàn)頁面排版渲染和Javascript解譯
使用Node.js庫實現(xiàn)訪問本地OS
合并了Chromium和Node.js各自里面的V8引擎
https://github.com/rogerwang/node-webkit
參考:
http://123.jser.us/
http://www.csser.com/
http://momentjs.com/