天下网吧 >> 网吧系统 >> 系统动态 >> 正文

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

2016-12-8不详佚名

对于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

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

编程语言: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

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

编程语言:Ruby

简介:

上面的5行代码就是做一个最低限度配置的空Web应用所需要的全部代码,如果拿它和Ruby on Rails进行比较,会发现它需要的代码更少(而且只有一个文件,而不是几十个)。

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

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

优点:

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

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

缺点:

由于不侧重“惯例”,没有相同的文件夹结构,所以会比较难去理解现有的Sinatra应用。

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

手动配置很多东西往往需要更多的时间,效率会受影响。

3、ExpressJS

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

编程语言:JavaScript

简介:

ExpressJS是一个JavaScript Web框架,基于 Node.js。看起来有没有熟悉,它的代码非常类似Sinatra的代码,也有和Sinatra相似的简单性。在一个准 Express应用中只有两个代码文件:

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

app.js,这里包含着应用程序的完整代码。

优点:

高灵活性。

可以只使用一种编程语言。

轻量。

缺点:

更多选项=更多选择。选择意味着需要研究不同的选项,找出将它们应用到自己的项目当中的方法,这往往需要更多时间。

4、SailsJS

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

编程语言:Javascript

简介:

SailsJS可以看成是JavaScript版的Rails,有一个命令行工具去生成一个完整的默认应用程序,自带许多合理的默认配置和数值。

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

优点:

有许多默认已配置好的方法完成构建Web应用所涉及的大部分工作。

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

缺点:

尽管是一个看起来很强大的框

本文来源:不详 作者:佚名

相关文章
没有相关文章
声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系Email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下