这个包含 MongoDB 的框架对我来说毫无意义,几乎所有其他 Web 框架都使用标准数据库 SQL。在我看来,MEAN 堆栈可能只在那些 MongoDB 真正“发光发热”的场景中有价值,但 Mongo 又是一个在高负载的时候才需要的东西,比如广告网络和 API 负载高的时候。
不可否认 MEAN 在某些情况下是有意义的,但对于典型的 Web 应用,我不太建议使用。因为 MEAN 在应用的每一个部分只使用 JavaScript 编程语言,这听起来会很容易掌握,但是像 MongoDB 和 WebPack 这样的东西使得 MEAN 实际上比那些解决问题的“标准”技术更困难。
6、Django
编程语言:Python
简介:
Django 是一个运行在 Python 上的 MVC Web 框架。 它也有一些打开即用的配置,它与 Ruby on Rails 框架有许多相似之处,也有不少区别。 这个 Web 框架改变了控制器和视图的职责,但毫无疑问它是一个优秀的 Web 框架。
优点:
轻量、少配置。
提供完整的开发堆栈,同时仍然遵循 Python 的“清晰”语言的设计理念,允许在快速开发和长期维护之间实现平衡。
注意:
Python 是一种类似于 Ruby 的语言,但它们的使用者会有不同的领域倾向, 通常使用 Python 的开发人员往往是在数据科学、统计或分析领域工作。
7、Tornado
编程语言:Python
简介:
Tornado 是一个没有怎么宣传的 Python Web 框架,它快速、高效,并允许开发人员访问 python 的大数据库。
优点:
在需要短时间内发生许多请求的情况下是优秀的。
缺点:
结构的缺乏导致应用相互不同。
对于初学者来说,拥有太多的自由可能会导致乱码。在其他的框架中有过经验的开发人员更愿意以深思熟虑的方式去构建应用。
8、Play
编程语言:Java 或 Scala
简介:
Play 同样是一个轻量级的、无状态的 Web 框架,学到了 rails 的优点,使用构建在 Akka 之上的完全异步模型,提供可预测的和最小的资源消耗(CPU,内存,线程)。
优点:
在 Java 虚拟机上运行,Play 是最高效的编程环境之一。
缺点:
大多数 Web 应用都是用所谓的“脚本语言”构建的,允许快速更改页面的视觉效果。 Java 增加了一个称为“编译”的步骤,需要在应用的更改之间进行。
9、Laravel
编程语言:PHP
简介:
Laravel 是一个用 PHP 编写的框架。 10年前,PHP 是几乎所有 Web 应用构建的标准编程语言,不过如今,受 Ruby、JavaScript 和 Python 影响,PHP 失去了很大的市场份额。
尽管如此,Laravel 仍是一个非常成熟的框架,允许使用 PHP 构建漂亮的代码。
优点:
Laravel 是一个很完美的 MVC 框架,借鉴了 Ruby on Rails 框架中使用的许多架构决策。
缺点:
使用 PHP 的开发人员和产品在减少(原文是这么写的^_^)
最后再说点
看完上面列出的这些不同的框架,很容易发现它们有互相在寻找灵感,许多功能、特性其实还蛮相似的。所以,说哪个好哪个不好,并没有什么意义,找到合适自己的才是关键。上面的框架可以简单分为两种类型:
一、简约框架
ExpressJS、Tornado 和 Sinatra 都是简约框架,他们提供启动需要的最低配置。
这些框架需要开发人员手动添加每个单独的组件,给予足够的自由度去完成项目。此外,通过强制自己配置应用的各方各面,可以掌控更多主动权,并在每种情况下都使用理想的工具。
当然,也有一些缺点。会经常发现自己处于需要分析不同选项并做出很多选择的情况下。
二、Omakase 框架
Rails、SailsJS、MEAN.io、Laravel 和 Play 都是 Omakase 框架,它们建议开发者以某种“正确”的方式编写代码,并且给出社区标准。
这些框架提供开发所需要的一切,打开即可编程。如果想使用其他的东西,它们还允许选择停用。构建这些框架的开发人员已经为后来者做出了一些关键决策,因此可以遵循他们建议使用的模式。
这对初学者来说有很大的优势,初学者往往在学习 Web 框架的时候,你还需要学习数据库、HTTP 请求、设置应用在 Internet 上运行等等知识。由于有一个被广泛接受的社区标准,学习一个像 Rails 这样的 Web 框架可以:
了解社区如何同意以正确的方式做某事。
有时间思考其他编程概念,学习其他知识。
一旦学习了某个框架社区的建议,将有经验来更好地评估其他框架。
【编辑推荐】
web性能优化之:no-cache与must-revalidate深入探究
浅谈Web中前后端模板引擎的使用
从零开始搭建论坛(一):Web服务器与Web框架
超小Web手势库AlloyFinger原理
思考Web应用的数据流
成为Web开发大师你必须知道的七件事情
(责任编辑:admin)