9款流行Web框架及其优缺点.docx

上传人:李司机 文档编号:7209326 上传时间:2024-06-29 格式:DOCX 页数:14 大小:229.78KB
返回 下载 相关 举报
9款流行Web框架及其优缺点.docx_第1页
第1页 / 共14页
9款流行Web框架及其优缺点.docx_第2页
第2页 / 共14页
9款流行Web框架及其优缺点.docx_第3页
第3页 / 共14页
9款流行Web框架及其优缺点.docx_第4页
第4页 / 共14页
9款流行Web框架及其优缺点.docx_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《9款流行Web框架及其优缺点.docx》由会员分享,可在线阅读,更多相关《9款流行Web框架及其优缺点.docx(14页珍藏版)》请在三一办公上搜索。

1、9款流行Web框架及其优缺点对于Wcb开发人员来说.找到一些合适的工具,能让工作轻松发多.这其中.Wcb框架更是提升工作效率的“利器,但因为可选的Web框架特别多,如何选择也是件令人头搂的事情.咋芹:I用.来耳:开源中国社区612.0609:45保赋共享对FWeb开发人员来说,找到一些合适的工具,能让工作轻松很多。这其中,Web框架更是提升工作效率的利器”。但因为可选的Wcb框架特别多,如何选择也是一件令人头终的事情.本文列出了9款目前比较流行的Web框架,并对优缺点进行分析,希里能对大家有所楮助。(内容主要编译自KcnMazaika的The9MostIn-DcmandWebFrameWOrk

2、SAndXVhatYouNeedToKnoWAbOUtThem)首先,什么是Wcb框架?当Web阅读器运用HTTP和在其他地方运行的服务器(计算机)通讯时,这些服务器会收到一些通知: 所选的UR1. 如何输入网址(通过表单提交或只是在阅读罂栏中输入网址)服务活要干很多事情,比如: 读取数据库里的数据和添加数据找到正确的结果(用户是否被允许杳看试图访问的页面?是否要发送到不同的UR1.?等等)构建用户将看到的网页假如要供应更困难的功能,就须要执行更多的步骤。作为开发人员,则须要对想要的功能列出一系列解决方案.Web框架就是其中可选的解决方案之一。进入正题:I、RubyonRailsyieldS$

3、d9*pplictlftbcU:lXIUrbolmE-turbolUks-rck*:,rl19111213MIS编程语言:Ruby简介:RubyonRails是一个已经被很多公司采纳的Wcb框架,是Ruby编程语言中Web框架的鼻祖,获得广大量开发者的采纳.DHH(Rails的创始人)曾用它15分钟左右创建一个博客。Rails的一大特点是约定优于配理(conventionoverconfiguration)。这意味着,它比较模式化、标准化和“约定化”,开发者通常做的是相同的事情,可以让代码写到最少。Rails还运用了MVC(Modcl-Vicw-ControIIcr),让架构更有组织性,更周密

4、。优点: Rails具有强大的吩咐行界面,通过几个荷洁的吩咐就能在新的应用上启动和运行。 Rails已经存在很长时间了,并且广泛被运用,网络上有很多关于它的教程。 Rails简洁易用,即便是困难的问题,也能相对快速解决。缺点: Rails自动挂钩了很多东西.启动器里就包含很多文件,并且有相当多的配置代码是自动编写的,有些人可能会对此担忧。整体来看,鉴于其敏捷性及使徒性,Rails是个特别志向的Web框架,值得初学者优先学习。2、Sinatra编程语言:Ruby何介:上面的5行代码就是做一个最低限度配置的空Wcb应用所须要的全部代码,假如拿它和RubyOnRails进行比较,会发觉它须要的代码更

5、少(而且只有一个文件,而不是几十个).然而,Sinatra的简洁性是一把双刃剑。它用的是和RUbyonRaiiS相反的方法,须要开发者手动配置全部的东西。优点t Sinatra是轻量级框架的领头羊. Sinatra高度可配置,留意开发的自由度。缺点: 由于不侧重“惯例”,没有相同的文件夹结构,所以会比较难去理解现有的Sinatra应用。 Sinatra不常用于实际生产项目当中。 手动配置很多东西往往须要更多的时间,效率会受影响。3、ExpressJS编程语言:JaVaSCriPt前介:ExprcssJS是一个JavaSCriPtWcb框架,基于NOdCJs。看起来有没有熟识,它的代码特别类似S

6、inatra的代码,也有和Sinatra相像的简洁性.在一个准EXPresS应用中只有两个代码文件: packagc.json,这是NPM自动生成的文件。 app.js,这里包含着应用程序的完整代码。优点: 离敏捷性。 可以只运用一种编程语言。 轻量。缺点: 更多选项=更多选择“选择意味者须要探讨不同的选项,找出将它们应用到臼己的项目当中的方法,这往往须要更多时间。4、SaiIsJSE12Xinkhre,http:/,ot,9eo9l_i,C3/cs,7,ie*lv-OpecS.c,:4“it.lc,Wrl-ItyXeiheettype-34/5tylc&ncIudtfdlnilfyovtpr

7、obbIybech*tt1qtb(MO*/5hsl.botfyqt*tl*8:lft;HrU:1.Halbotf3far*.txRaa.lflutfKsa,dhrR,iYul.67out(functiontufkfIwt)IC4MQtfocuMnt.9teiMAtfyCl5tMMe(-M4rM(.*tyl.bckgrounKolrWt6;Al.B1W11,W/cripfi*413HvcMlt-H9mSy14“NcUt-hWMf-B15-cMQ)6YovrlookIaqt:codxviw.pthFrottp.*vicw.tJ/c皿fi*r*1718“NcUstaMinCOAtaIfwrcledU

8、S-*19Ctt1119strtd4hl*AM*tt?P*0o,1ry,we,e90tyarbck.21ul22UdlS231*r24)MMT25GntrteRSSTAPI.26Q编J程语言:JavaSCriPl简介:SailsJS可以看成是JavaScript版的Rails,有个吩咐行工具去生成个完整的默认应用程序,自带很多合理的默认配置.和数值.同样,Sails也有MVC架构,启动一个完整的应用也会有数十个默认的文件.优点: 有很多默认已出置好的方法完成构建WCb应用所涉及的大部分工作。 吩咐行程序使得构建新应用和功能更为轻松。缺点: 尽管是一个看起来很强大的框架,人气也不低,但是并没有多

9、少公司采纳。5、MEAN堆栈编程语言:JavaScript简介:MEAN是ExprcssJS的扩展,堆栈了如MongoDBAnguIarJS和WcbPack等技术“MEAN用JaVaSCriPt一种语言来驱动整个应用“MongoDB是一个在概念上与其他大多数据库有较大区分的数据库,它允许JSON数据在其中自由随意,这意味着数据库条目是敏捷的,但同时也导致无效的记录成r一个特别简洁遇到的问题.它不是通过SQ1.与数据库交互,而是运用其独有的JavaScript。优点: 与SaiIsJS一样,MEAN堆栈包含构建困难Wcb应用所需的全部组件。缺点: 页面加载要两个阶段,而且第一阶段看起来有点搞笑。

10、发生这种状况是因为视图不是在服务器湍呈现,而只在阅读器中呈现.这意味者用户最初看到的是不完整的页面,页面的完整内容要过一会才能加载。 MEAN堆栈包含很多技术,如MongoDB,在其他框架中构建Web应用时通常不运用这些技术。补充几句个人观点:这个包含MongoDB的框架对我来说本无意义,几乎全部其他Wcb框架都运用标准数据库SQ1.。在我看来,MEAN堆栈可能只在那些MongoDB真正”发光发热”的场景中有价值,但Mongo又是一个在高负载的时候才须要的东西,比如广告网络和API负载高的时候。不行否认MEAN在某些状况卜是有遨义的,但对于典型的Wcb应用,我不太建议运用“因为MEAN在应用的

11、每一个部分只运用JaVaSCriPl编程语言,这听起来会很简洁驾驭,但是像MongoDB和WcbPack这样的东西使得MEAN事实上比那些解决问迎的“标准”技术更困难.6,DjangoJBi三1.-i三l三l三三1 fr4j编程语言:PyuIOn简介:Django是一个运行在Python上的MVCWeb框架。它也有些打开即用的配置,它与RubyonRails框架有很多相像之处,也有不少区分.这个Web框架变更了限制潺和视图的职贵,但亳无疑问它是一个优秀的Wcb框架。优点:轻量、少配置。供应完整的开发堆栈,同时仍旧遵循Python的“清楚”语言的设计理念,允许在快速开发和长期维护之间实现平衡。留

12、意:Python是一种类似于Ruby的语言,但它们的运用者会有不同的领域领向,通常运用Pyihon的开发人切往往是在数据科学、统计或分析领域工作。7、Tomado:ompyWmado国IOrptOnMVMimporttornado.ioloopimporttornado.webclassMainHandie(WebeRequestHandler)S679e1112151617defget(Mlf):self.write(,Hello,WOrur)defBake.app():returntornado.web.Application(hm,MainHandler),)_n*_ain_:|appm

13、ake_app()app.listen(8888)tornado.ioloop.IO1.oop.current()start()top编程语言:Python简介:Tornado是个没有怎么宣扬的PthonWeb框架,它快速、高效,并允许开发人员访问python的大数据库。优点:在须要短时间内发生很多恳求的状况卜.是优秀的。缺点: 结构的缺乏导致应用相互不同。 对T初学者来说,拥有太多的自由可能会导致乱码。在其他的框架中有过阅历的开发人员更情愿以深思熟虑的方式去构建应用。编程语言:Java或Scala何介:Play同样是一个轻量级的、无状态的Wcb框架,学到了rails的优点,运用构建在Akka

14、之上的完全异步模型,供应可预料的和最小的资源消耗(CPU,内存,线程)。优点:在Java虚拟机上运行,Play是最高效的编程环境之一。缺点: 大多数Web应用都是用所谓的,脚本语言”构建的,允许快速更改页面的视觉效果。JaVa增加/一个称为编译”的步骤,须要在应用的更改之间进行。9、1.aravclw2ZgC31一。3classBaieCMtrollerextends*CO*C14的一5/BB6SetuptKlayoutusedbythecontroller.Ma_CertXx7.,OMMM8fretumJQidf9/,QOMeprotectedfunctionSetup1.oyoutOBtv

15、l11(12if(Ils-null(tthis-layout)Mtwv14Sthislayout-View:sake($thlslayout);15nM16).teoe*w173C18xS3*45S6V*RUMTCCne)OwrRSBO*ttHCOwntmmNOH19CO61编程语音:PHP简介:1.aravcl是一个用PHP编写的框架。10年前,PHP是几乎全部Wcb应用构建的标准编程语之,不过如今,受Ruby,JavaScript和Python影响,PIIP失去了很大的市场份额。尽管如此,1.aravel仍是一个特别成熟的框架,允许运用PHP构建美丽的代码。优点: 1.aravcl是一个很

16、完备的MVC框架,借鉴了RubyonRails框架中运用的很多架构决策.缺点: 运用PHP的开发人珏和产品在削减(原文是这么写的ID最终再说点看完上面列出的这些不同的框架,很简洁发觉它们有相互在找寻灵感,很多功能、特性其实还蛮相像的。所以,说哪个好哪个不好,并没有什么意义,找到合适自己的才是关键。上面的框架可以简洁分为两种类型:一、何的框架EXPreSUS、Toniado和Sinaira都是简约框架,他们供应启动须要的最低配置.这些框架须要开发人员手动添加每个单独的组件,蜴予足够的自由度去完成项目。此外,通过强制自己配置应用的各方各面,可以堂控更多主动权,并在林种状况下都运用志向的工具。当然,

17、也有一些缺点。会常常发觉自己处丁须要分析不同选地并做出很多选择的状况下。二、Omakase框架Rails.SailsJS,MEAN.i。、1.aravel和Play都是Omakase框架,它们建议开发者以某种“正确”的方式编写代码,并且给出社区标准.这些框架供应开发所须要的一切,打开即可编程.假如想运用其他的东西,它们还允许选择停用。构建这些框架的开发人员已经为后来者做出了一些关键决策,因此可以遵循他们建议运用的模式。这对初学者来说有很大的优势,初学者往往在学习Web框架的时候,你还须要学习数据库、HTTP恳求、设置应用在Internet上运行等等学问。由于有一个被广泛接受的社区标准,学习一个像Rails这样的Web框架可以: 了解社区如何同意以正确的方式做某事。 有时间思索其他编程概念,学习其他学问。 旦学习了某个框架社区的建议,将有阅历来更好地评估其他框架.【编辑举荐】1 .Web性能优化之:no-cachc与nust-rcvalidatc深化探究2 .浅谈Web板引擎的运用3 .从零起先搭建论坛):Web服务器与Web框架4 .超小WebF势库AlloyFingCr原理5 .思索WCb应用的数据流6 .成为Web开发大师你必需知道的七件事情

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号