Skip to content

进一步了解

架构升级

从 LAMP 到 MEAN

Web 开发技术经过了两次大的架构演变,即从 LAMP 到 MEAN,下面分别介绍

LAMP 是早期表现非常突出的开源 Web 技术集合之一,使用 Linux 操作系统,将 Apache 作为 Web 服务器,使用 MySQL 数据库,并将 PHP(或者 Python、Perl)作为生成基于 HTML 页面的编程语言。
随着互联网的发展,这些技术被整合在一起,成为当时的最佳实践。
自此以后,Web 技术栈进入大爆发时代,开发者可以快速且轻松地创建一个新的网站。

MEAN 出现在 2014 年左右,是在 Web 社区中赢得大量关注的一种新兴堆栈,涉及 MongoDB、Express、Angular 和 Node.js。

MEAD 代表着一种完全现代的 Web 开发方法:将 JavaScript 作为唯一语言,贯穿应用程序开发的所有环节,从客户端到服务器端,再到数据库持久层,这也是最新潮的全栈 JavaScript 架构。

MEAN 与传统 LAMP 一样,是一种全套开发工具的简称,下面分别说明一下每个字母对应的含义

  • M: MongoDB,一个使用类似 JSON 风格进行存储的数据库,非常适合 JavaScript 语言调用
  • E: Express,一个 Web 引用框架,提供组件和模块,帮助建立网站应用。
  • A: Angular,Google 开发的一个前段 MVVM 框架,注意此处说的 Angular 是 1.x 版本的
  • N: Node.js,一个并发、异步、事件驱动的 JavaScript 服务器后端开发平台

从我个人的角度来看,MEAN 的含义如下:

  • MySQL 用 MongoDB 替换,原因是 MongoDB 是 NoSQL 世界里最像关系型数据库的,在开发和性能方面都有优势,尤其对于一些缺少专业 DBA 运维的中小型公司而言
  • Express 作为 Node.js 的示范项目,非常精简,是最成熟稳定的 Web 开发框架
  • Angular 代表了一个时代,双向绑定、指令等都曾让无数人热血沸腾,很多人都说,用过 Angular 之后就再也不想用 jQuery 了
  • Node.js 提供了完全的生态和工具链,你想要的它基本都能实现,感谢 npm 强大的生态,再有就是,在 2015 年以前,Node.js 的性能明显优于 PHP

技术选型是一件比较严肃的事,可能会决定公司未来几年甚至更长时间的发展方向

时至今日,在微服务架构盛行的今天,MEAN 已经因为技术栈过于复杂而被大家慢慢淡忘,更多的是采用阿里巴巴开源的 Egg.js。
现在不再流行一整套的技术栈,服务化才是流行的解决方案。