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

  • 时间:
  • 浏览:0
  • 来源:5分11选5平台-5分3D网投平台_5分6合投注平台

对于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效率可配置,注重开发的自由度。

缺点:

机会不侧重“惯例”,越来越相同的文件夹价值形式,之后会比较难去理解现有的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框架还要:

了解社区怎样同意以正确的土法子做某事。

有时间思考一些编程概念,学习一些知识。

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