MEAN 堆栈
黑蓝背景
MEAN 堆栈

MEAN 是否适合您? 了解 MongoDB、Express.js、AngularJS 和 Node.js 端到端堆栈为什么在现代 Web 应用开发中越来越受欢迎。

  • 创建经过云部署优化处理的可扩展的应用
  • 在整个应用中使用单一语言以简化开发
  • 使用内置 Web 服务器以简化部署
  • 利用 MongoDB 的灵活性来管理海量数据

从头开始构建应用时,使用统一的标准化软件组合至关重要。 利用一系列协作工具创建后端,可帮助缩短开发时间并简化资源。

但是,该堆栈领域变得越来越拥挤。 包括 LAMP 到 Ruby on Rails 的大量选项。 每个组合都有各自的优缺点,而且适用于不同的项目。 开发时使用的堆栈并不是一成不变的。


什么是 MEAN?

MEAN 是相对较新的堆栈代表MongoDB、Express.js、AngularJS 和Node.js。 MEAN 是端到端的 JavaScript 组合,主要用于面向云的应用程序。 要想最大程度地利用 MEAN 在软件开发方面的价值,就需要了解为何可能会使用该堆栈,确定使用示例,并深入了解各个组件。

如果您想要使用 MEAN 堆栈来开发和部署云应用, IBM 提供 简单的教程 来介绍如何使用 MEAN 堆栈创建现代应用。


优点

MEAN 是一种开源 Web 堆栈,主要用于创建云托管应用。 MEAN 堆栈应用非常灵活且易于扩展,是云托管 云托管应用的理想之选。 该组合包含自己的 Web 服务器,因此部署非常方便,并且可以按需扩展数据库,以便应对临时使用峰值。 MEAN 应用经过优化处理,能够充分利用云在成本节省和性能改进方面的所有优势。

JavaScript 长期以来一直是用于前端 Web 开发的常用语言 — 具有灵活、动态和易于使用的特点。 但它用于后端和数据库开发已有好几年的时间,支持开发人员使用端到端 JavaScript 创建应用程序。 由于 MEAN 的每个部分都使用相同的语言,因此有助于精简开发团队。 使用 MEAN 后,就不需要聘请不同的专家来开发应用程序的各个部分。 相反,可使用单一的 JavaScript 开发人员团队,根据需要随时随地开展工作,具备高度的适应能力。 JavaScript 的标准化还提供了在整个应用中复用代码的机会,从而减少了不必要的重复劳动。 


客户案例

虽然 MEAN 堆栈不适用于所有应用,但在许多用例中都表现出色。 可扩展性和并发用户管理能力使其成为开发 云原生 应用的理想之选。 AngularJS 前端框架也使它成为开发单页应用程序(在单个页面上提供所有信息和功能)的理想之选。 下面是使用 MEAN 的几个示例:

  • 日历
  • 费用跟踪
  • 新闻汇总网站
  • 地图及位置发现

组件

MongoDB
MongoDB 是开源 NoSQL 数据库,专为云应用而设计。 它使用面向对象的组织形式,而不是关系模型。

在 MEAN 堆栈中,MongoDB 用于存储应用的数据。 由于应用程序和数据库都使用 JavaScript,因此不需要在应用程序和数据库之间转换对象。 应用可在后端和数据库之间推送和拉取对象,而不会丢失信息。

MongoDB 因其存储和性能方面的可扩展性而受到热捧。 可将个别字段添加到数据库而无需重新加载整个表,MongoDB 因其能够在不影响数据访问的情况下管理海量数据而知名。 只需几次单击操作,您就可以扩展数据库的可用资源,使其非常适合工作量偶有增加的应用。

如想深入了解 MongoDB,请参阅“ MongoDB:基本指南。"

Express
Express 是 Node.js 的 Web 应用框架。 它在易用性和完整功能集之间实现平衡。

Express 构成了 MEAN 堆栈的后端,负责处理前端与数据库之间的所有交互,确保数据顺利传输给最终用户。 它旨在与 Node.js 配合使用,确保在整个堆栈中以一致的方式持续使用 JavaScript。

Express 奉行极简主义 — 旨在高效处理流程,避免让应用显得杂乱无序。 但不要将"简约"与"简单"混为一谈。 Express 提供了出色的错误处理和模板功能,因此有助于您完成开发工作。

Express 还可以防止您意外出错,因为它使用 CommonJS 模块标准,这可防止无意中覆盖共享名称空间中的变量。 因此,您不会意外地重新定义先前创建的变量。 执行 JavaScript 关闭可帮助防止耗时且代价高昂的错误。

AngularJS
AngularJS 是 Google 的 JavaScript 前端框架,虽然它不是目前使用的唯一框架,但它非常受欢迎。 它实际上是前端 JavaScript 开发的默认选择。 如果您使用 JavaScript 开发 Web 应用,那么就会使用 AngularJS。

MEAN 堆栈中包含 AngularJS,可以帮助开发人员构建应用中面向用户的那部分功能。 由于后端、前端和数据库都基于 JavaScript,因此信息能够在应用的所有部分之间顺畅流动。

由于错误的认知,AngularJS 并没有成为最受欢迎的 JavaScript 前端框架。 它能够同时开发桌面和移动版本,精调的性能和易于使用的模板使它成为了构建云原生应用的理想前端。

Node.js
Node.js 是开源 JavaScript 框架,可使用异步事件同时处理多个连接。 它是云端应用程序的理想框架,因为它可以根据需要轻松扩展请求。 在大多数最知名的 Web 应用程序背后,都可能找到 Node.js 的身影。

Node.js 是 MEAN 堆栈的主干。 Express 专为在 Node.js 上工作而构建,AngularJS 可与 Node.js 无缝连接,从而快速提供数据服务。 Node.js 与集成 Web 服务器配套,能够轻松地将 MongoDB 数据库和应用部署到云端。

Node.js 的最大优势在于其可扩展性。 最理想的云应用程序能够快速响应使用峰值。 如果仅在用户超时后才可用,那么几乎无限的处理能力又有何用呢? 通过扩展所需的资源,可以为更多用户提供服务,而框架的单线程架构支持应用程序在众多连接中有效地提供流畅的用户体验。 Node.js 最多可支持 100 万个并发连接。

请记住,Node.js 最适用于低资源请求,而不适用于资源密集型请求。 尽管单线程可防止进程死锁,但它无法避免某个大型进程冻结面向所有客户端的系统。


MEAN 组合与 IBM

MEAN 堆栈越来越受欢迎。 MEAN 堆栈的灵活性、一致语言和可扩展性等特点,使其成为任何以云为目标的 Web 开发的绝佳选择。

如果您想要使用 MEAN 堆栈来开发和部署云应用,IBM 提供 简单的教程来介绍如何使用 MEAN 堆栈创建现代应用

如果您已准备好立即开始使用 IBM Cloud,请在这里注册


相关解决方案

IBM 云原生

IBM Cloud 是云原生应用开发的领先者,也是值得信赖的合作伙伴,能够在高度开放、高度安全而且高度集成的平台上快速构建企业应用。


IBM Cloud Infrastructure

IBM Cloud 基础架构即服务;面向智慧企业的基础架构。 查找满足您业务需求的合适解决方案。