“堆栈”一词是指相互堆叠以创建Web服务器环境的技术

他们依靠两种不同的技术来实现后端语言,数据库和服务器环境。

当前最流行的两个Web堆栈是LAMPMEAN

随着技术和后端语言的发展, Web堆栈已经发展了数十年。

如果您不熟悉Web技术,或者只是想了解这两个堆栈,那么本指南将提供您所需的一切。

哪种类型的项目将从这两种选择中受益最多?

每个堆栈在哪里都有优势?

在本文中,我想通过查看它们的技术选择(优缺点)来阐明这两个Web堆栈。

传统的LAMP开发

所有这些都是独立的软件包,这些软件包组合在一起构成了通用的服务器解决方案。

LAMP代表Linux,Apache,MySQLPHP

大多数开发人员应该了解传统的LAMP堆栈,因为它早在Web时代就已经存在。

它已经存在了数十年,并且是托管网站的一种行之有效的方法。

坚持使用LAMP的最大原因是安全性和广泛的支持

WordPress,Drupal和Joomla都在PHP / MySQL上运行。

此外,您还可以访问最受欢迎的CMS引擎

如果您使用LAMP堆栈,则基本上可以在任何地方托管。

所有后端技术(例如PHP和MySQL)都是众所周知的,并受到每个主要托管服务提供商的支持

MEAN vs. LAMP Stack:优点和缺点

您还可以在Windows服务器上以WAMP堆栈的形式运行变体。

LAMP体系结构中有一些可自定义的选项 ,例如LEMPnginx替换Apache。

这就是为什么Linux在服务器环境中最有意义,这就是LAMP经受了现代Web开发时间的考验的原因。

但是,所有核心软件(包括Apache,MySQL和PHP) 都是开源的 ,并且主要是针对Linux制作的。

例如,您可以查看此ServerFault问题以获取更多信息。

您将在论坛上找到很多支持,这些支持涵盖了配置LAMP环境和对LAMP环境进行故障排除所需的一切。

大多数开发人员都选择这条路线,因为这是使网站在线的最简单方法

带有MEANJavaScript后端

节点MEAN堆栈提供了动力 ,并提供了一个主要优势:一切都以一种语言运行

Node.js是开发人员的最新技术,他们决心运行使用JavaScript构建的可伸缩应用程序。

MEAN堆栈可以在任何OS上运行 ,并且Node甚至带有自己的服务器来处理后端的JS。

该首字母缩写词对服务器操作系统或服务器软件没有要求。

MEAN代表MongoDBExpress.jsAngular ,当然还有Node.js。

MEAN vs. LAMP Stack:优点和缺点

您可以在MeanJS网站上找到许多文档和支持。

尽管此堆栈已引起了广泛的关注,但与传统的LAMP堆栈相比,它仍然远远没有达到稳定的支持量。

全栈JavaScript的使用还可以改善开发,因为一种语言适用于所有前端和后端工作。

MongoDB是一个NoSQL数据库 ,可以优化查询。

因为它最终更快更容易扩展

那么,为什么有人会选择MEAN?

例如,可以将MEAN切换到MEEN堆栈,将Angular替换为Ember

加上许多其他JS框架作为稳定的解决方案投放市场。

MEAN vs. LAMP Stack:优点和缺点

这样可以更轻松地组织JavaScript Web应用程序,使其在自然环境中运行

程序员会喜欢MEAN堆栈,因为它可以分离代码以实现可维护性和增长性

但是,如果您喜欢Node,并且想在JavaScript上运行所有程序,那是值得的。

学习管理MEAN应用程序所需的所有技术可能需要几个月的时间。

在这个问题上有很多东西要学习,这可能是新开发人员进入的最大障碍。

以下是一些初学者的入门指南。

PHP与节点

许多Web开发人员从(或最终学习)PHP开始,因为它在Web平台和托管提供程序中占主导地位。

PHP从90年代中期开始出现,并且确实是最流行的后端语言。

您今天使用的许多Web应用程序都可以使用带有NPM的 Node.js作为事实上的程序包管理器,其中包括强大的前端框架(例如Angular)

Node.js现在无处不在。

MEAN vs. LAMP Stack:优点和缺点

JavaScript是MEAN堆栈上所有内容的根本,因此,如果您喜欢JS,那么您将非常喜欢构建MEAN Web应用程序。

Node的另一个好处是它带有自己的Web服务器

PHP最初是网站通用解决方案,后来Swift发展为一个庞大的不相关功能的库。

许多开发人员认为PHP是一种设计不良的语言,因为创建者Rasmus Lerdorf实际上并未将其设计为语言。

但是,随着PHP 7尝试修复该语言的许多错误,以及使用OOP框架(例如Laravel) ,PHP现在比以往任何时候都更好。

MEAN vs. LAMP Stack:优点和缺点
图像:Stackoverflow

那么具有MEAN堆栈的Node可能值得考虑。

您真的喜欢编写JavaScript吗?

所以语言辩论取决于您的个人选择

如果您已经了解PHP,并希望坚持自己的知识,那么LAMP也是一条可行的途径。

总体利弊:

每个Web堆栈都有多个要比较的 ,包括操作系统,服务器软件,数据库和后端语言。

  1. MEAN堆栈包括Angular ,这是一个前端框架。 LAMP堆栈中没有任何必需的框架,但是您始终可以将自己的框架添加到所构建的任何应用程序中。
  2. 关于操作系统,LAMP堆栈寻找Linux的派生版本。 无论堆栈如何, Linux通常都是服务器环境的最佳选择 ,MEAN也是如此。
  3. 现在,服务器的操作系统只是计算机软件,而不是Web服务器软件 为此,您需要一个类似Apache或nginx的程序。 LAMP使用Apache,因为它是可用的最稳定的选择之一。
  4. MEAN vs. LAMP Stack:优点和缺点
  5. MEAN使用Node.js服务器 ,它是Node软件包的一部分 它仍然是相当新的,并且尽管那里有很多支持,但是Node的社区规模与Apache差不多。
  6. 另外,节点服务器需要JavaScript后端 (无扩展名)。 Apache 支持大多数后端语言 ,并且有许多免费扩展以提供更好的支持。 但是截至目前,Apache尚无节点支持。
  7. 数据库管理是您发现最大差异的地方 LAMP使用MySQL进行关系数据存储,而MEAN使用MongoDB这是一个非关系数据库 非关系型DB的速度要快得多 ,并且提供了一种更轻松的扩展方式以提供更高的流量。
  8. MEAN vs. LAMP Stack:优点和缺点
  9. 请记住, PHP不仅限于MySQL 它可以使用MongoDB和其他替代方法,例如PostgreSQL或SQLite。 只是大多数PHP开发人员都知道MySQL,因此它是典型LAMP堆栈的主要竞争者。
  10. MEAN堆栈通常运行速度更快规模更大 ,但需要更多的时间和服务器知识来学习系统。 LAMP堆栈尝试和真实的 ,他们来外的开箱即最安全的基础设施和最广泛的支持可想而知。
  11. 编程语言在两个堆栈之间有很大的不同。 LAMP主要在包含WordPress和Laravel框架的PHP上工作。 MEAN在后端使用ExpressJS / NodeJS,而在前端使用AngularJS。
  12. MEAN是全栈式JavaScript ,您需要学习很多才能使其运行。 新创业公司经常选择愿意突破Web应用程序开发的界限。 LAMP更传统, 前端JS,后端为PHP 它是为只希望使网站在线而又无需过多担心的人而设计的

包起来

MEAN仍在增长,并且也有大量的支持,但是可能比大多数人想要处理的技术更多。

我想说大多数网站倾向于LAMP堆栈,因为它已经过测试,并且在Google中有很多有用的问答线程。

可以将这两个安装程序本地安装在您的计算机上,并在不使用远程服务器的情况下基于它们进行构建。

随意尝试一下,亲自体验一下。

而且,如果您要在任一堆栈上查找更多信息,我在下面收集了一组方便的链接。


翻译自: https://www.hongkiat.com/blog/mean-vs-lamp-stacks/

相关文章:

  • 2022-12-23
  • 2021-08-30
  • 2022-01-20
  • 2021-11-02
  • 2022-12-23
  • 2022-12-23
  • 2022-02-05
猜你喜欢
  • 2022-02-05
  • 2021-12-01
  • 2022-02-10
  • 2021-10-19
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案