JavaScript自1995年發(fā)布以來,走過了漫長的道路。已經(jīng)有了幾個主要版本的ECMAScript規(guī)范,單頁Web應(yīng)用程序也慢慢興起,還有支持客戶端的JavaScript框架。作為一個被絕大多數(shù)瀏覽器支持前臺腳本語言,它對瀏覽器的創(chuàng)新做出了很大的貢獻(xiàn)。JavaScript許多很有用的特點(它是無阻塞是,它是事件驅(qū)動的,很多程序員熟悉它)可以在瀏覽器之外的環(huán)境中加以利用。這推動了JavaScript社區(qū)新一輪的創(chuàng)新,讓JavaScript能在服務(wù)器和數(shù)據(jù)庫中運行。

  一下子,JavaScript工程師認(rèn)為自己不只是“Web前端開發(fā)者”了。如果你對語言很熟悉,就可以自己搭建服務(wù)器和數(shù)據(jù)庫。除了交互設(shè)計,開發(fā)者可以只用JavaScript就能做出一個完整的web應(yīng)用,這在JavaScript史上是第一次。這種趨勢被稱為“全棧的JavaScript”或“純JavaScript的解決方案”。它包含了JavaScript的四種流行技術(shù):MongoDB、Express、AngularJS、和 Node.js。這四種技術(shù)越來越流行,它們合稱為MEAN Stack。

 MongoDB

  MongoDB也就是常說的NoSQL數(shù)據(jù)庫??梢哉J(rèn)為它是文檔結(jié)構(gòu)的數(shù)據(jù)庫,而不是由行、列、表組成的數(shù)據(jù)庫?;镜挠梅ㄊ谴鎯SON數(shù)據(jù),這很適合JavaScript程序。它是非關(guān)系型、非事務(wù)要求嚴(yán)格的系統(tǒng),所以它很快、可擴(kuò)展性和易用性強。

 Express

  Express是一個小型的web服務(wù)器框架,能使Node開發(fā)的web服務(wù)器更易開發(fā)和維護(hù)。Express有很高的定制性,它能簡單快速地使用路由請求、cookie管理、一個靜態(tài)文件服務(wù)器和很多企業(yè)級網(wǎng)絡(luò)服務(wù)器所需要HTTP模塊。

 AngularJS

  Angular是一個功能豐富的客戶端MVC JavaScript框架。它可用于開發(fā)復(fù)雜的單頁Web應(yīng)用程序。它具有內(nèi)置的雙向數(shù)據(jù)綁定功能和它自己的基于HTML的模板。它有個特性稱為“directives”,允許開發(fā)者給HTML拓展新屬性、新元素。Angular也是高度可測試的,這是很重要的。Angular為開發(fā)客戶端提供了公約和最佳解決方案。

 Node

  Node基于JavaScript,用于建立服務(wù)器和網(wǎng)絡(luò)應(yīng)用。它提供所有JavaScript的特性,并外加文件操作、網(wǎng)絡(luò)I/O的功能。它使用谷歌的V8引擎(與谷歌瀏覽器中使用的相同)來執(zhí)行JavaScript。它擁有很活躍的開發(fā)者社區(qū)和Node模塊生態(tài)圈(Express是其中一個模塊)。雖有JavaScript有其他實現(xiàn)服務(wù)器端的方法,但Node是目前個人級和企業(yè)級最好的開發(fā)方案。

  如果你是JavaScript的粉絲,你應(yīng)該會對只用JavaScript就能開發(fā)一個完整的web應(yīng)用感到興奮。MEAN Stack是一個很熱門的話題,網(wǎng)上有很多關(guān)于學(xué)習(xí)它們的討論,可以去嘗試學(xué)習(xí)一下。

  英文原文 Full Stack JavaScript Development With MEAN 編譯:SegmentFault

  哈爾濱品用軟件有限公司致力于為哈爾濱的中小企業(yè)制作大氣、美觀的優(yōu)秀網(wǎng)站,并且能夠搭建符合百度排名規(guī)范的網(wǎng)站基底,使您的網(wǎng)站無需額外費用,即可穩(wěn)步提升排名至首頁。歡迎體驗最佳的哈爾濱網(wǎng)站建設(shè)。