盘点:9款流行Web框架及其优缺点

  • 时间:
  • 浏览:0
  • 来源:5分快3平台-5分快乐8网投平台_5分排列3投注平台

对于Web开发人员来说,找到这人 要花费的工具,能让工作轻松这人 。这其中,Web框架更是提升工作带宽的“利器”。但因为着可选的Web框架非常多,要怎样选择也是一件令人头疼的事情。

本文列出了9款目前比较流行的Web框架,并对优缺点进行分析,希望能对这人 人有所帮助。(内容主要编译自Ken Mazaika的The 9 Most In-Demand Web Frameworks And What You Need To Know About Them)

首先,哪些地方是Web框架?

当Web浏览器使用HTTP和在这人 地方运行的服务器(计算机)通讯时,哪些地方地方服务器会收到这人 通知:

所选的URL

要怎样输入网址(通过表单提交或要是在浏览器栏中输入网址)

服务器要干要是事情,比如:

读取数据库里的数据和加进数据

找到正确的结果(用户是与否被允许查看试图访问的页面?是与否要发送到不同的URL?等等)

构建用户将都看的网页

因为着要提供更错综复杂的功能,就都要执行更多的步骤。作为开发人员,则都要对不想的功能列出一系列出理 方案。Web框架要是其中可选的出理 方案之一。

进入正题:

1、Ruby on Rails

编程语言:Ruby

简介:

Ruby on Rails是还还有一个 多 因为着被这人 公司采用的Web框架,是Ruby编程语言中Web框架的鼻祖,获得了絮状开发者的采用。DHH(Rails的创始人)曾用它15分钟左右创建还还有一个 多 博客。

Rails的一大特点是约定优于配置(convention over configuration)。这因为着,它比较模式化、标准化和“约定化”,开发者通常做的是相同的事情,都都要让代码写到要花费。

Rails还使用了MVC(Model-View-Controller),让架构更有组织性,更周密。

优点:

Rails具有强大的命令行界面,通过几个简单的命令就能在新的应用上启动和运行。

Rails因为着趋于稳定很长时间了,这人 广泛被使用,网络上有要是关于它的教程。

Rails简单易用,即便是错综复杂的难题,也能相对快速出理 。

缺点:

Rails自动挂钩了要是东西。启动器里就中含要是文件,这人 有相当多的配置代码是自动编写的,这人 人因为着会对此担心。

整体来看,鉴于其灵活性及便捷性,Rails是还还有一个 多 非常理想的Web框架,值得初学者优先学习。

2、Sinatra

编程语言:Ruby

简介:

后边的5行代码要是做还还有一个 多 最低限度配置的空Web应用所都要的完整代码,因为着拿它和Ruby on Rails进行比较,会发现它都要的代码更少(这人 不到还还有一个 多 文件,而都是几还还有一个)。

然而,Sinatra的简单性是一把双刃剑。它用的是和Ruby on Rails相反的法律方法,都要开发者手动配置所有的东西。

优点:

Sinatra是轻量级框架的领头羊。

Sinatra深度1可配置,注重开发的自由度。

缺点:

因为着不侧重“惯例”,这麼相同的文件夹形状,要是会比较难去理解现有的Sinatra应用。

Sinatra不常用于实际生产项目当中。

手动配置要是东西往往都要更多的时间,带宽会受影响。

3、ExpressJS

编程语言:JavaScript

简介:

ExpressJS是还还有一个 多 JavaScript Web框架,基于 Node.js。看起来有这麼熟悉,它的代码非常这人Sinatra的代码,都是和Sinatra这人的简单性。在还还有一个 多 准 Express应用中不到还还有一个 多 代码文件:

package.json,这是NPM自动生成的文件。

app.js,这里中含着程序运行运行的完整代码。

优点:

高灵活性。

都都要只使用并都是编程语言。

轻量。

缺点:

更多选项=更多选择。选择因为着都要研究不同的选项,找出将它们应用到这人 人的项目当中的法律方法,这往往都要更多时间。

4、SailsJS

编程语言:Javascript

简介:

SailsJS都都要看成是JavaScript版的Rails,有还还有一个 多 命令行工具去生成还还有一个 多 完整的默认程序运行运行,自带这人 合理的默认配置和数值。

同样,Sails都是MVC架构,启动还还有一个 多 完整的应用也会有数还还有一个默认的文件。

优点:

有这人 默认已配置好的法律方法完成构建Web应用所涉及的大每项工作。

命令行程序运行使得构建新应用和功能更为轻松。

缺点:

尽管是还还有一个 多 看起来很强大的框架,人气要是低,这人 并这麼几个公司采用。

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都是简约框架,这人 人提供启动都要的最低配置。

哪些地方地方框架都要开发人员手动加进每个单独的组件,给予足够的自由度去完成项目。此外,通过强制这人 人配置应用的各方各面,都都要掌控更多主动权,并在每项清况 下都使用理想的工具。

当然,都是这人 缺点。会无缘无故 发现这人 人趋于稳定都要分析不同选项并做出要是选择的清况 下。

二、Omakase框架

Rails、SailsJS、MEAN.io、Laravel和Play都是Omakase框架,它们建议开发者以并都是“正确”的法律方法编写代码,这人 给出社区标准。

哪些地方地方框架提供开发所都要的一切,打开即可编程。因为着想使用这人 的东西,它们还允许选择停用。构建哪些地方地方框架的开发人员因为着为就让 者做出了这人 关键决策,这人 都都要遵循这人 人建议使用的模式。

这对初学者来说有很大的优势,初学者往往在学习Web框架的以前,你还都要学习数据库、HTTP请求、设置应用在Internet上运行等等知识。因为着有还还有一个 多 被广泛接受的社区标准,学习还还有一个 多 像Rails原先的Web框架都都要:

了解社区要怎样同意以正确的法律方法做某事。

有时间思考这人 编程概念,学习这人 知识。

一旦学习了某个框架社区的建议,将有经验来更好地评估这人 框架。

猜你喜欢

德国普发真空新型高性能HiLobe®罗茨泵正式亮相中国市场

2019年8月13日,中国上海——德国普发真空提前大选,从9月1日起全新HiLobe®系列罗茨泵将在中国市场正式上市。相比传统罗茨泵,该产品可节省20%的抽真空时间,并将维护和

2019-11-12

OPPO Reno 10倍混合变焦版揭秘:骁龙855+4065mAh

4月6日消息,OPPO副总裁沈义人公布了Reno10倍混合变焦版的删剪规格。该机搭载高通骁龙855旗舰平台,配备UFS2.1闪存,后置4800万三摄,支持10倍混合光学变焦,电

2019-11-12

索尼XZ1/XZ1 Compact价格曝光:4255元起

IT之家8月23日消息根据此前的报道,索尼预计不可能 在今年的IFA展会前一天即8月31日举办4个多发布会,届时两款旗舰新机XperiaXZ1和XperiaXZ1Compac

2019-11-12

华硕 1225C(银色)评测,行情,最新资讯

关于亲戚许多人 |广告服务|使用条款|联系亲戚许多人 北京盛拓优讯信息技术有限公司.版权所有中华人民共和国增值电信业务经营许可证编号:京B2-20170206北京市公安局海

2019-11-12

产品“槽报”|马应龙跨界卖口红被“十动然拒”,iOS 13再度“辞旧迎新”

 WinnieLee•2019-07-2014:39:31来源:前瞻网E2422G0新品天天有,槽点千千万。欢迎收看前瞻网有点推出的一周一期《产品槽报》!近日,各行业又陆陆续续

2019-11-12