我用的一些Node.js開發工具、開發包、架構等總結,node.js開發包
開發工具
1.WebStorm,毫無疑問非他莫屬,跨平台,強大的代碼提示,支援Nodejs調試,此外還支援vi編輯模式,這點我很喜歡。
2.做些小型項目用Sublime Text。
3.Browserify:將你的nodejs模組應用到瀏覽器中
4.nvm:nodejs版本管理工具,你可能會用到多個nodejs版本(如v0.11.x支援generator的nodejs和stable的v0.10.x版本),用它可以方便切換
測試&自動化
1.mocha:一個簡單、靈活有趣的 JavaScript 測試架構(類似的還有should,supretest)
2.gruntjs:迄今為止node世界中最流行的構建工具
3.gulp.js:宣稱取代gruntjs的東東
4.node-inspector:nodejs代碼調試神奇,結合瀏覽器Chrome-Debug,輕量,方便
5.node-dev:代碼改了,還在不斷的按Ctrl+C嗎?快試試這個工具吧,使用fs.watch()監控項目目錄,代碼變化後,自動重啟項目
6.pm2:替代node-forever的新秀
第三方開發包
1.Edge.js:讓.NET和nodejs在同一進程中運行,相互調用(神器的東西啊)
2.Express,優秀的Web開發架構
3.moment,強大的日期處理庫
4.cheerio,jQuery核心選取器的實現,可跑在server端,類似jsdom,但比jsdom輕量很多
5.async,非同步處理
6.shortid,url友好的unique id
7.log4js,日誌記錄,穩健的系統離不開日誌記錄
8.colors,便於在console中輸出不同顏色的文本(tinycolor,更輕量級的控制台顏色設定)
9.xmlrpc,方便xml遠端程序呼叫,比如寫metaweblog的時候可能會用到
10.commander:編寫命令列應用必備,簡化各種命令解析操作
11.koa:Express的接班人
12.chokidar:完善的檔案、檔案夾監控包,解決了fs.watch諸多不完善的地方,可以進行子目錄的監控,相當方便
13.axon:訊息、常見socket模式的上層實現,簡化socket開發,TJ大神作品
14.cron:採用crontab文法的任務計劃包
15.open:使用本地應用開啟檔案或者url
16.term-list:cli輔助選擇操作
17.deepmerge: js對象深度合并
18.loadsh,underscore:js常用工具庫,對象合并,排序演算法,map,reduce等
19.iconv-lite:純js實現的編碼轉換庫,開發爬蟲等情境會經常用到。
20.request: 更簡單的發送http請求
21.needle:輕量級的http client模組,整合了iconv-lite,跟request類似
22.superagent:類似request,使用風格跟jQuery神似。
23.mobile-agent: 判斷是手機瀏覽器的訪問還是pc端的訪問,對做web很有用哦。
24.is-type-of:js輔助庫,判斷對象的類型
Web架構&工具
1.StrongLoop
2.KeystoneJS
3.CompoundJS
3.Geddy
軟體中提到的開發包,工具包與SDK等等分別是什?還有軟體架構是個什樣的東西?
SDK開發包多是廠商針對某些應用的工具集合,包含協助文檔,範例程式碼等。協助程式員快速開發相關應用,一般會有常用開發語言的應用樣本,示範動態庫檔案或API的調用方法等。
各種移動開發工具是怎實現的
隨著這種需求的日益增長,越來越多的開發人員開始關注移動開發工具和開發庫的開發了,他們試圖協助移動開發人員掃平實現夢想的障礙。
雖然這套工具的開發目前尚不成熟,但是HTML5的出現讓大家看到了移動Web開發的光明前景,它讓使用者擺脫了對native軟體的依賴。
首先,web是完全開放的,它不用受到App Store的協議限制。
其次,程式開發人員能夠獲得100%的收益。當然,這也意味著必須找到一種新的獲得收益的方式,這一點並不簡單。但是,一旦找到了合適的方法,程式員就不用再將自己30%的收益拱手讓給Apple了。
第三,HTML5變得越來越強大了,功能也變得更加豐富了。最新的HTML5版本已經能夠支援用戶端在本地儲存資料了,目前基本能夠替代native app的功能。換句話說,瀏覽器已經基本能夠取代native apps的地位了。
第四點,HTML5 apps不與具體裝置綁定。雖然目前大部分的宣傳還是圍繞著Apple的iPhone,但是HTML5 apps是比較容易遷移到其他平台上的。雖然可能還沒簡單到按下一個按鈕就完成平台的遷移,但是起碼和Objective C轉換為Java的工作比起來,還是簡單許多的。
當然,HTML5也不是萬能的。Web apps最大的缺陷就是對網路連接的依賴。它確實不如native apps響應及時,而native app的開發人員常常在討論微秒級的延遲是否會影響使用者的體驗。遊戲開發人員在使用JavaScript編程前需要再三權衡一下。
目前最大的限制可能就是工具本身的開發。Apple的開發工具能夠看到native apps的結構,而行動瀏覽器卻很難深入瞭解上面啟動並執行應用程式的代碼結構。現在已經有一些開發工具和開發庫來協助程式員簡化web開發的難度。下面介紹 一些移動web開發中著名的相關項目。
移動web開發工具:ChocolateChip-UI(下載)
由於行動裝置上的螢幕通常都比較小,因此為行動裝置設計一個有效UI顯得尤為重要。Enter Robert Biggs是一個來自Northern California的Web程式員,他開發的ChocolateChip-UI成為使用HTML開發移動介面的優秀樣本。
開發中使用的WAML(Web Application Markup Language)是基於HTML5封裝的程式設計語言。使用WAML提供的標籤(如<slider>或是<stack>)能夠極大 地簡化開發人員的工作。可以在JavaScript中使用WAML並在支援HTML5的智能手機上運行。
程式員可以將HTML、CSS、JavaScript和WAML組合起來,只需指定好ChocolateChip-UI的翻譯進程即可。
雖然這種做法並不完美,但這已經足夠好用了。我之前曾用過其他的移動開發工具,他們都不能很好地封裝在JavaScript中。
ChocolateChip-UI已經基本將所有的WAML提供的組件都封裝好了,效果幾乎與標準的iPhone UI相當。它甚至還包括了一個額外的刪除列表,使用者通過點擊滑鼠就能將組件從UI上刪除。
移動Web開發工具:Mobl(下載)
JavaScript使用起來不算太簡單,而Mobl就 是用來簡化JavaScript的開發的。Mobl是專門用於Webkit瀏覽器上應用開發的架構。它不使用HTML、JavaScript或是CSS編 寫程式,而是直接使用Mobl編程,然後通過Mobl編譯器將它轉換為適合在行動瀏覽器上啟動並執行HTML、JavaScript和CSS語言。
Mobl......餘下全文>>