返回顶部
首页 > 资讯 > 前端开发 > html >9款流行Web框架及其优缺点分别是什么
  • 429
分享到

9款流行Web框架及其优缺点分别是什么

2024-04-02 19:04:59 429人浏览 安东尼
摘要

本篇文章给大家分享的是有关9款流行WEB框架及其优缺点分别是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。对于 Web 开发人员来说,找到

本篇文章给大家分享的是有关9款流行WEB框架及其优缺点分别是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

对于 Web 开发人员来说,找到一些合适的工具,能让工作轻松许多。这其中,Web 框架更是提升工作效率的“利器”。但因为可选的 Web 框架非常多,如何选择也是一件令人头疼的事情。

小编列出了9款目前比较流行的 Web 框架,并对优缺点进行分析。

什么是 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 应用所涉及的大部分工作。

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

缺点

  • 尽管是一个看起来很强大的框架,人气也不低,但是并没有多少公司采用。

5、MEAN 堆栈

9款流行Web框架及其优缺点分别是什么

编程语言:JavaScript

简介

MEAN 是 ExpressJS 的扩展,堆栈了如 mongoDBangularJS 和 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

9款流行Web框架及其优缺点分别是什么

编程语言python

简介

Django 是一个运行在 Python 上的 MVC Web 框架。 它也有一些打开即用的配置,它与 Ruby on Rails 框架有许多相似之处,也有不少区别。 这个 Web 框架改变了控制器和视图的职责,但毫无疑问它是一个优秀的 Web 框架。

优点

  • 轻量、少配置。

  • 提供完整的开发堆栈,同时仍然遵循 Python 的“清晰”语言的设计理念,允许在快速开发和长期维护之间实现平衡。

注意

  • Python 是一种类似于 Ruby 的语言,但它们的使用者会有不同的领域倾向, 通常使用 Python 的开发人员往往是在数据科学、统计或分析领域工作。

7、Tornado

9款流行Web框架及其优缺点分别是什么

编程语言:Python

简介

Tornado 是一个没有怎么宣传的 Python Web 框架,它快速、高效,并允许开发人员访问 python 的大数据库。

优点

  • 在需要短时间内发生许多请求的情况下是优秀的。

缺点

  • 结构的缺乏导致应用相互不同。

  • 对于初学者来说,拥有太多的自由可能会导致乱码。在其他的框架中有过经验的开发人员更愿意以深思熟虑的方式去构建应用。

8、Play

9款流行Web框架及其优缺点分别是什么

编程语言:Java 或 Scala

简介

Play 同样是一个轻量级的、无状态的 Web 框架,学到了 rails 的优点,使用构建在 Akka 之上的完全异步模型,提供可预测的和最小的资源消耗(CPU,内存,线程)。

优点

  • 在 Java 虚拟机上运行,Play 是***效的编程环境之一。

缺点

  • 大多数 Web 应用都是用所谓的“脚本语言”构建的,允许快速更改页面的视觉效果。 Java 增加了一个称为“编译”的步骤,需要在应用的更改之间进行。

9、Laravel

9款流行Web框架及其优缺点分别是什么

编程语言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 框架可以:

  • 了解社区如何同意以正确的方式做某事。

  • 有时间思考其他编程概念,学习其他知识。

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

以上就是9款流行Web框架及其优缺点分别是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网html频道。

--结束END--

本文标题: 9款流行Web框架及其优缺点分别是什么

本文链接: https://lsjlt.com/news/86127.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 9款流行Web框架及其优缺点分别是什么
    本篇文章给大家分享的是有关9款流行Web框架及其优缺点分别是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。对于 Web 开发人员来说,找到...
    99+
    2024-04-02
  • 流行的9个Java框架介绍:优点、缺点等等
    以下是9个流行的Java框架的介绍,包括它们的优点、缺点等等:1. Spring框架:- 优点:强大的依赖注入和面向切面编程功能,简...
    99+
    2023-09-22
    Java
  • Brainstorm框架的优点和缺点分别是什么
    Brainstorm框架的优点: 创造性:Brainstorm框架能够激发团队成员的创造性思维,帮助他们产生更多新颖的想法和解决方...
    99+
    2024-03-08
    Brainstorm
  • 什么是Typescript以及其优缺点是什么
    什么是Typescript以及其优缺点是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。JavaScript可能是现代网络的事实上的语言,但长期以来,它也是我选择脚本编写的语...
    99+
    2023-06-16
  • Lavarel框架的优缺点是什么
    这篇文章给大家分享的是有关Lavarel框架的优缺点是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Lavarel 框架  优点:  Laravel 的设计思想是很先进的,非...
    99+
    2024-04-02
  • django框架的优缺点是什么
    Django框架是一个开发Web应用程序的高级Python Web框架,具有以下优缺点: 优点: 快速开发:Django提供了许多...
    99+
    2024-04-02
  • Ajax相关及其优缺点是什么
    Ajax相关及其优缺点是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。AJAX,即Asynchronous Javascript An...
    99+
    2024-04-02
  • beego框架的优点和缺点是什么
    beego框架的优点: 高性能:beego框架基于Go语言开发,具有出色的性能表现,能够处理大量的并发请求。 简单易用:be...
    99+
    2024-03-14
    beego
  • jsp框架的优点和缺点是什么
    JSP(Java Server Pages)是一种用于开发动态网页的Java技术。JSP框架的优点和缺点如下: 优点: 简单易学:...
    99+
    2024-04-02
  • cobit框架的优点和缺点是什么
    COBIT框架的优点: 综合性:COBIT框架提供了一个综合性的IT管理指南,涵盖了不同方面的IT管理,包括战略规划、风险管理、...
    99+
    2024-04-02
  • Python中tornado框架的优缺点是什么
    Tornado框架是一个异步的Python web框架,其优缺点如下: 优点: 异步IO:Tornado使用异步IO来处理请求,可...
    99+
    2024-03-01
    Python tornado
  • C++ 生态系统中流行库和框架的优缺点分析
    最流行的 c++++ 库和框架各有其优缺点:标准库:跨平台、高效,但功能有限。boost:涵盖广泛领域,但庞大且可能存在依赖项。qt:跨平台 gui 框架,功能丰富,但体积庞大且商业许可...
    99+
    2024-05-14
    框架 c++ 流行库 网络编程 标准库
  • MySQL的binlog的格式及优缺点分别是什么呢
    本篇文章给大家分享的是有关MySQL的binlog的格式及优缺点分别是什么呢,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 ...
    99+
    2024-04-02
  • Web中的元素方法及优缺点是什么
    这篇文章主要介绍“Web中的元素方法及优缺点是什么”,在日常操作中,相信很多人在Web中的元素方法及优缺点是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Web中的元素方...
    99+
    2024-04-02
  • Flex框架中Cairngorm和Mate的优缺点是什么
    这篇文章将为大家详细讲解有关Flex框架中Cairngorm和Mate的优缺点是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。如何选择一个Flex框架CairngormCairngorm是一个广为人知...
    99+
    2023-06-17
  • Python打包数组框架的优缺点是什么?
    Python是一种广泛使用的编程语言,其强大的编程能力和丰富的社区资源使其成为了许多开发者的首选语言。在Python中,数组是一种非常常见的数据结构,而打包数组框架则是一种对数组进行处理的重要工具。本文将从优缺点两个方面来探讨Python打...
    99+
    2023-11-03
    打包 数组 框架
  • PXC特性和优缺点分别是什么
    本篇文章为大家展示了PXC特性和优缺点分别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 Percona XtraDB Clus...
    99+
    2024-04-02
  • 云主机的优缺点分别是什么
    本篇内容介绍了“云主机的优缺点分别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!云主机的优点:一、便宜。因为服务可以分散到多台服务器,...
    99+
    2023-06-07
  • 云电脑的优缺点分别是什么
    云电脑的优点包括: 灵活性:用户可以随时随地通过互联网访问云电脑,无需受限于特定设备和地点。 资源共享:云电脑可以让多个用户...
    99+
    2024-04-17
    云电脑
  • golang函数的优缺点分别是什么?
    go 函数优点:简洁、并发、类型安全、可测试、可重用。缺点:命名约定、可变参数、异常处理、可读性。例如,calculatesum 函数可以计算两个数字的和。 Go 函数的优缺点 Go ...
    99+
    2024-04-20
    golang函数 优缺点 golang
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作