5、MEAN堆栈
编程语言:JavaScript
简介:
MEAN是ExpressJS的扩展,堆栈了如MongoDB、AngularJS和WebPack等技术。MEAN 用JavaScript一种语言来驱动整个应用。
MongoDB是一个在概念上与其他大多数据库有较大区别的数据库,它允许JSON数据在其中自由随意,这意味着数据库条目是灵活的,但同时也导致无效的记录成了一个非常容易遇到的问题。它不是通过SQL与数据库交互,而是使用其独有的JavaScript。
优点:
与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 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都是简约框架,他们提供启动需要的最低配置。
这些框架需要开发人员手动添加每个
本文来源:不详 作者:佚名