全棧工程師的武器:MEAN
JavaScript自1995年發布以來,走過了漫長的道路。已經有了幾個主要版本的ECMAScript規范,單頁Web應用程序也慢慢興起,還有支持客戶端的JavaScript框架。作為一個被絕大多數瀏覽器支持前臺腳本語言,它對瀏覽器的創新做出了很大的貢獻。JavaScript許多很有用的特點(它是無阻塞是,它是事件驅動的,很多程序員熟悉它)可以在瀏覽器之外的環境中加以利用。這推動了JavaScript社區新一輪的創新,讓 JavaScript能在服務器和數據庫中運行。
一下子,JavaScript工程師認為自己不只是“Web前端開發者”了。如果你對語言很熟悉,就可以自己搭建服務器和數據庫。除了交互設計,開發者可以只用JavaScript就能做出一個完整的web應用,這在JavaScript史上是第一次。這種趨勢被稱為“全棧的JavaScript” 或“純JavaScript的解決方案”。它包含了JavaScript的四種流行技術:MongoDB、Express、AngularJS、和Node.js。這四種技術越來越流行,它們合稱為MEAN Stack。
MongoDB
MongoDB也就是常說的NoSQL數據庫。可以認為它是文檔結構的數據庫,而不是由行、列、表組成的數據庫。基本的用法是存儲JSON數據,這很適合JavaScript程序。它是非關系型、非事務要求嚴格的系統,所以它很快、可擴展性和易用性強。
Express
Express是一個小型的web服務器框架,能使Node開發的web服務器更易開發和維護。Express有很高的定制性,它能簡單快速地使用路由請求、cookie管理、一個靜態文件服務器和很多企業級網絡服務器所需要HTTP模塊。
AngularJS
Angular是一個功能豐富的客戶端MVC JavaScript框架。它可用于開發復雜的單頁Web應用程序。它具有內置的雙向數據綁定功能和它自己的基于HTML的模板。它有個特性稱為 “directives”,允許開發者給HTML拓展新屬性、新元素。Angular也是高度可測試的,這是很重要的。Angular為開發客戶端提供了公約和最佳解決方案。
Node
Node基于JavaScript,用于建立服務器和網絡應用。它提供所有JavaScript的特性,并外加文件操作、網絡I/O的功能。它使用谷歌的V8引擎(與谷歌瀏覽器中使用的相同)來執行JavaScript。它擁有很活躍的開發者社區和Node模塊生態圈(Express是其中一個模塊)。雖有JavaScript有其他實現服務器端的方法,但Node是目前個人級和企業級最好的開發方案。
如果你是JavaScript的粉絲,你應該會對只用JavaScript就能開發一個完整的web應用感到興奮。MEAN Stack是一個很熱門的話題,網上有很多關于學習它們的討論,可以去嘗試學習一下。
英文原文 Full Stack JavaScript Development With MEAN
由SegmentFault整理編譯