了解 MERN 堆栈
了解 MERN 堆栈
几年来,我们听到了很多关于 Mean stack 和 Mearn stack 的信息。我在博客上很少谈论它,但我是专门研究 MERN 的全栈开发专家。
因此,在本文中,我将向您解释 MERN 堆栈是如何工作的,为什么要使用它,它的优点和缺点是什么。
第一个指南是对 MERN 的介绍,其他指南将跟随以解释有关该技术的更多信息。如果您有兴趣,我邀请您关注我的博客以便收到通知。
什么是 MERN 堆栈?
MERN 代表“mongodb、express、react、nodejs”,它是 4 种技术的组合,可以让您创建一个从头到尾、前端和后端的网站。
MERN 堆栈的一大优势是我们只使用 javascript,在客户端使用 REACT,在服务器端使用 NodeJS。
MERN 堆栈的中心点是单独开发网站的能力。这么说,我们可以有这样的印象,很明显,所有的 Web 开发人员都可以创建一个从 A 到 Z 的网站,对吧?
好吧,绝对不是。绝大多数 Web 开发人员只知道如何创建网站的一侧。或者数据库、算法和逻辑部分,即后端。或者设计部分,用户体验和动画,即前端。
Fullstack 开发人员能够同时处理这两个方面,这是一项备受追捧的技能。小型企业无法招募两名开发人员,因此全栈将获得更高的报酬和更多的需求。
MERN 堆栈是市场上最强大和最通用的技术的组合。我们还听说过 MEAN 堆栈。在这种情况下,我们将 REACT 替换为 AngularJS,另一个用于管理前端的框架。
MERN 堆栈如何工作?
对我来说,了解 MERN 堆栈中包含的每项技术如何工作似乎很重要。因此,在这一部分中,我们将看到每个字母到底对应什么。
M 代表 MongoDB
Mongo DB 是一个与 SQL 工作方式不同的数据库系统。我们不使用表格,而是使用包含 JSON 格式数据的文档。
MongoDB 文档可以像任何 SQL 系统一样存储大量数据并建立关系。
在 MEAN 堆栈中,我们使用 mongoDB,因为数据是在 JSON 中管理的。由于这种语言最初来自 Javascript,因此可以想象直接将数据从 Javascript 转换为 MongoDb 是极其简单的,反之亦然。
为此,有像 mongoose 这样的库可以将您的文档直接转换为 javascript 对象和列表,这些对象和列表可以直接在您的程序中使用。因此,数据操作极其简单和高效。
N 代表 NodeJS
所以,我知道我没有按顺序进行,但重要的是要理解 E。
Node JS 是一种使用 JavaScript 语法的编程语言。所以你明白它是一种与 JavaScript 结合使用的语言。让双方沟通起来要容易得多。
此外,如果你已经掌握了 javascript,学习 Node JS 会容易得多,反之亦然。
最后,node JS 是一种速度极快的编程语言。比任何其他网络编程语言都要多。它使用异步技术来获得功率和速度。这是一项难以掌握的技术,但在右手中非常有效。
许多大公司使用 Node JS。如果你使用像 facebook 这样的在线聊天系统,你可以确定 Node JS 在机器后面。
E 表示 Express.js
你知道我们用什么来做数据库,你知道我们用什么语言来做服务器,但是如何创建一个 Web 服务器呢?以及如何操作数据库?好吧,这就是 Express 的用武之地。
Express 是一个用于轻松高效地开发网站的框架。它使用中间件系统堆叠功能来创建一个复杂的网站。
使用 express,我们不会直接创建用户将连接的网站。我们将创建 REST API
REST API 是一个允许通过 HTTP 请求检索和修改数据的网站。因此,我们将在 React 部分执行这些请求,以检索数据并保存它。
R for React.js
最后,让我们谈谈 React JS。这是使我们能够创建网站可见部分的技术。
React JS 是一个 SPA 框架。它是一种可以用 JavaScript 渲染整个网站的技术。这种方法将使您的网站更快,因为它永远不必下载静态内容。
动画、过渡和加载要快得多。
无需过多介绍,React 与组件系统一起工作。我们创建了一些代码来呈现 HTML,我们可以在我们网站的不同部分使用它们,这大大减少了开发时间。
像 Netflix 或 Facebook 这样的大网站使用 React。如果您想建立一个超快速的网站,这是首选。
最后,要知道 React 还允许您创建移动应用程序和软件。因此,可以在多个支架上携带您的应用程序。
这一切如何协同工作?
现在您了解了每个部分是如何单独工作的,我将解释 MERN 应用程序如何结合使用所有这些技术来创建功能强大且可移植的应用程序。
我们可以轻松地将 MERN 堆栈分成两个大块。就像一个有后端和前端的经典网站一样,MERN 堆栈也有这种削减。
MongoDB、Node JS 和 express 用于开发后端部分。在一个普通的网站上,这部分将负责操作数据库,还负责管理路由和渲染脚本/html文档。
对于 MERN 堆栈,我们的目标是创建 url,例如:site/users/creer,我们将能够在其上创建、修改和读取 mongoDB 中包含的数据。
这些 url 像函数一样工作。我们可以将 HTTP 调用视为触发器。我们在请求中提供数据,服务器负责修改数据库并以 JSON 格式返回所有内容(直接由 javascript 读取)
这就是 MERN 堆栈的第二部分 React 的用武之地。借助一种称为 AJAX 的技术,该技术将在用户不可见的情况下执行这些 HTTP 请求。
因此,我们可以在无需重新加载页面的情况下进行动态数据下载,这使得网站比平均速度快得多。
AJAX 隐藏了所有请求,用户会有这样的印象,即数据刚下载时就一直存在。想一想,当你在一个网站上点赞或写评论时,页面不会重新加载?好吧,这要归功于 AJAX
Schéma illustrant la MERN stack
为什么使用 MERN 堆栈
在这个有点长的介绍之后,我将解释为什么我认为如果你想开发一个高质量的网站,MERN 堆栈是一个很好的选择。在本节之后,我们将看到缺点,没有什么是完美的。
后端的好处
正如我所说,我们可以将 MERN 堆栈分为两部分,前端和后端。您的所有数据库逻辑都与您的可见网站完全隔离。这个系统意味着一个非常重要的事情,您的 REST API 可以很容易地重用于移动应用程序或软件。
想想看,你的 API 永远不会改变,它就在那里,而且它的 http url 不依赖于你的可见站点。因此,可以创建其他前端,例如,可以非常轻松地创建共享同一用户系统的两个站点。
Node JS 非常快。编程语言是基于异步的,所以非常强大。如果你的后端速度很快,用户会更快地收到他们的数据,这将改善用户体验并降低运行服务器的成本。
前端的好处
React JS 也非常令人印象深刻。这是一个基于SPA的系统。也就是说,只有一个 HTML 文档,并且元素是通过 Javascript 更新的,并且无需任何下载。
React JS 站点在技术上是尽可能好的。使用该系统的网页如果开发得当,似乎是不可下载的。这使得用户体验非常宝贵,他无需等待时间就可以浏览网站。
例如,如果你想开发一个便于用户导航和销售的高性能网站,React 是一个非常好的选择。
MERN堆栈的缺点
正如我所说,在编程世界中没有什么是完美的。有几点使 MERN 堆栈成为一个糟糕的选择。我将在本节中向您介绍它们,以便为您提供有关 MERN 堆栈的完整意见。
后端的缺点
正如我所说,Node JS 使用异步系统。这项技术可以尽可能优化程序(在本例中为网站)的性能。
问题是它是一项相当复杂的技术。要学习 Node JS,你必须做很多工作,例如比 PHP 更多。
Mongo DB 也有一个缺点。它是一个不使用 SQL 的系统,所以它是另一种需要学习的语言。许多开发人员掌握 SQL,他们已经习惯了,更改数据库系统可能会很可怕。
然而,如果你学会掌握它,它仍然是一个非常强大的系统,这也是很多工作。
具体来说,MERN 堆栈中的技术设计师很少,这是一个学习和掌握的问题。
React JS 的缺点
React JS 有一些技术缺陷。而是适应不便。与使用多个 HTML 文档的普通网站不同,这里我们只有一个并且使用组件系统。
所以你必须适应,学习一种在网络上开发的新方法。这是一个漫长的学习曲线,您将完全改变您对 Web 开发的看法。
最后,React JS 需要处理 AJAX 请求,它又是一个需要大量思考的复杂系统。
但是请记住,只要稍加努力,一切皆有可能!
如何学习 MERN 堆栈?
在结束之前,我想告诉你学习 MERN 堆栈的不同方法。
这是一项非常复杂的技术,因为它需要掌握 4 种不同的技术并将它们耦合在一起。因此,我建议您遵循这 4 种技术的教程,然后练习将它们组合在一起。
Youtube 是你的朋友。存在许多教程,它们非常实用。
让我快速学习 MERN 堆栈的方法之一是阅读书籍。这里有一些我读过的书籍的链接,它们可能会帮助你更快地学习。
这些链接是赞助的,您无需支付更多费用,但如果您浏览我的网站,您会在经济上支持我。这些书是英文的。
这本书向您介绍了 MERN 堆栈的每种技术的基础知识。你将学习 React 和所有的后端技术。这本书让您构建具体的应用程序,以便将所有这些技能付诸实践。
总体来说写的很好。它为每种语言提供提示,并让您将它们放在一起,这很棒!
综上所述
MERN 堆栈允许您快速设计网站。这是一种降低服务器成本并允许您拥有一个性能令人难以置信的网站的解决方案。此外,借助 React Native 等技术,将您的网站移植到移动应用程序或软件非常容易。
此堆栈基于后端和前端之间的分离。它们是两个完全不同的站点,前端将向后端发出 HTTP 请求。因此,我们消除了加载时间,并使用单个 HTML 文档设计了一个网站。
因此,MERN 堆栈是一个非常优化的系统,用于设计非常复杂和高性能的网站。由于整个堆栈都使用 JavaScript,因此可以使用单一语法设计整个网站。
如果你掌握了 JavaScript 并想开发一个全栈的网站,即前端和后端,那么这个栈是一个很好的解决方案。
如果您喜欢这篇文章,请不要犹豫,关注我的时事通讯。您将收到一份免费指南,帮助您开始编程!
亚辛·侯塔
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明