优点:
- 与 SailsJS 一样,MEAN 堆栈包含构建复杂 Web 应用所需的所有组件。
缺点:
- 页面加载要两个阶段,而且第一阶段看起来有点搞笑。发生这种情况是因为视图不是在服务器端呈现,而只在浏览器中呈现。这意味着用户最初看到的是不完整的页面,页面的完整内容要过一会才能加载。
- MEAN 堆栈包含许多技术,如 MongoDB,在其他框架中构建 Web 应用时通常不使用这些技术。
补充几句个人观点:
这个包含 MongoDB 的框架对我来说毫无意义,几乎所有其他 Web 框架都使用标准数据库 SQL。在我看来,MEAN 堆栈可能只在那些 MongoDB 真正“发光发热”的场景中有价值,但 Mongo 又是一个在高负载的时候才需要的东西,比如广告网络和 API 负载高的时候。
不可否认 MEAN 在某些情况下是有意义的,但对于典型的 Web 应用,我不太建议使用。因为 MEAN 在应用的每一个部分只使用 JavaScript 编程语言,这听起来会很容易掌握,但是像 MongoDB 和 WebPack 这样的东西使得 MEAN 实际上比那些解决问题的“标准”技术更困难。
6、Django
编程语言:Python
简介:
Django 是一个运行在 Python 上的 MVC Web 框架。 它也有一些打开即用的配置,它与 Ruby>
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>
最后再说点
看完上面列出的这些不同的框架,很容易发现它们有互相在寻找灵感,许多功能、特性其实还蛮相似的。所以,说哪个好哪个不好,并没有什么意义,找到合适自己的才是关键。上面的框架可以简单分为两种类型:
一、简约框架
ExpressJS、Tornado 和 Sinatra 都是简约框架,他们提供启动需要的最低配置。
这些框架需要开发人员手动添加每个单独的组件,给予足够的自由度去完成项目。此外,通过强制自己配置应用的各方各面,可以掌控更多主动权,并在每种情况下都使用理想的工具。
当然,也有一些缺点。会经常发现自己处于需要分析不同选项并做出很多选择的情况下。