使用MEAN成为JavaScript的全栈工程师
说明:本文来自SitePoint,作者:Adam Bretz
文章版权属于原网站/原作者。我依旧只是个搬运工+不称职的翻译。
自从1995年发布以来,JavaScript 有了很大的发展。我们已经看到了ECMAScript 规格的几个重要版本及单页Web应用的崛起,这些都被客户端的JavaScript 架构支持。起初,所有的JavaScript 开发和创新都只能在浏览器实现,这是由于浏览器是支持这种语言的唯一环境。随着时间的推移,Web开发者开始意识到JavaScript 的很多实用的特性(没有块级作用域,事件驱动以及与许多其他语言相似)使其能对其他环境而不仅仅是浏览器。这促使JavaScript 社区进行了第二轮创新最终使JavaScript 运行于服务端和数据库。
突然,了解JavaScript 不会把你自动归类在“前端开发者”中。如果你熟悉这门语言,你能建立服务器和数据库,以及丰富前端用户体验。现在,第一次有了开发者能通过只用JavaScript 就能建立整个Web应用。这种趋势常常被称为“全栈的JavaScript”或“纯JavaScript解决方案”。组合了四种流行的JavaScript 技术:MongoDB, Express, AngularJS, and Node.js 建立Web应用受到欢迎了,这被成为“MEAN 全栈”。
- MongoDB - MongoDB 是一种NoSQL的数据库。它是一种文件导向数据库管理系统, 而不是由行、列和表格组成的。主要用于存储JSON 数据;这完美契合由JavaScript 编写的应用。数据的关系性操作和严厉遵守图式的缺乏,这使MongoDB 具有快速,伸缩性强及易用的特性。
- Express - Express是一种轻量级的服务器级框架,被用来使Node 搭建的Web服务更简单及更强的可维护性。框架的灵活性提供给开发者高度的可定制性以及足够“低端”的用于操作Node 框架。Express 提供简单方式使用路由,cookie管理,静态文件服务和其他HTTP模块用于搭建企业级的服务。
- AngularJS - AngularJS 是一种客户端富应用的MVC JavaScript 框架。它可用于建立健壮的和复杂的单页Web应用。双向数据绑定和基于HTML的框架语言。AngularJS 也有称为“命令”的特性允许你拓展HTML的新的属性,甚至是新的元素。AngularJS 同样也经过了高强度的测试,这可能不会成为开发的有趣方面,但这对于AngularJS 来说是重要的并且经常管理客户端代码。最后,AngularJS 提供了协议和最佳实践用于帮助开发者建立客户端的解决方案。
- Node - Node 是JavaScript 的运行环境用于建立服务及网络应用。它提供了在客户端的所有JavaScript 的特性并且加入了文件以及网络I/O。Node使用了Google 的V8引擎(同样也用于Google Chrome)用于执行JavaScript 。其同样也是非常活跃的开发者社区和Node 模块的生态系统(Express就是其中一个模块)的基础。与此同时,也有很多其他在客户端的JavaScript 实践,到目前为止,就粉丝和大公司而言都成功采用的。
如果你像我一样都是JavaScript 的粉丝,你应该兴奋于只用JavaScript 就可以建立整个Web应用的前景。MEAN全栈是相当受欢迎的话题,在网络上也有很多如何开始这些技术的信息。事实上,有很多关于这项技术的信息,仅仅是有关“开始”的就可以“令人畏惧”。
译者按
最后作者介绍自己和Colin Ihrig共同编写的“MEAN全栈”书籍 有兴趣的朋友可以关注一下。
正如作者所说,仅仅使用JavaScript 就能建立这个Web应用是一件令人兴奋地事情。