什么是 Web 框架?为什么要使用它?

2025-05-24

什么是 Web 框架?为什么要使用它?

“框架”这个词在代码中被频繁使用。那么,框架究竟是什么呢?当我们谈论框架时,这些框架通常分为三类——前端框架、后端框架以及 CSS 或用户界面框架。但是,即使你知道了什么是框架,你仍然应该学习或使用哪一个,以及为什么?这篇文章将讨论什么是框架,有哪些框架,以及如何决定在你的项目中应该使用哪种框架!

什么是框架

如果我们观察几个不同的 Web 应用,就会发现它们有很多重复的功能。许多应用都包含用户身份验证、页面渲染、数据库连接、可查看的配置文件,以及风格化的信息推送等等。如果我愿意,每次构建新应用时,我都可以自己编写所有这些逻辑;然而,也有很多工具可以帮我们完成这些工作。

此外,很多时候,我们在构建应用程序时,都希望以某种方式格式化代码,以提高效率并帮助其他开发者理解我们的代码。Web 框架帮助我们构建应用程序的结构,并提供了无需太多额外工作即可添加的附加功能。框架为我们提供了一个起点,让我们可以专注于功能而不是配置细节。

代码的阅读次数远多于编写次数,因此,当你与其他开发人员合作时,让他们了解特定任务的代码编写位置非常重要,这样他们才能在自己的代码中使用这些代码。框架还制定了关于代码编写和结构的约定,从而规范了开发人员编写代码的方式。

大多数网站都拥有非常相似(甚至可以说是完全相同)的结构。框架的目的是提供一个通用的结构,以便开发人员无需从头开始重新设计,并可以重复使用已提供的代码。这样,框架可以让我们减少大量的工作,节省大量的时间。

总结一下:没有必要重新发明轮子。

来自Awwwards

从本质上讲,框架只是代码库(即其他人的代码),而且流行的框架都是开源的!所以你可以在线查看你的库的代码!

后端与前端

  • Web 应用程序的前端是您可见并与之交互的部分。它由网页设计和网站交互组成。就编程语言而言,它几乎总是由页面的 CSS、HTML 和 JavaScript 组成

  • 后端由服务器、数据库以及与它们交互的代码组成。后端还包括向网站前端提供动态数据的代码。大多数编程语言都可以处理后端。我们今天主要讨论的是 Python、Ruby 和 Node.js,但还有无数其他编程语言

用户界面框架

用户界面框架有助于创建风格化且专业的 Web 应用程序。大多数框架都包含某种网格系统,以便您对齐元素;它们拥有配色方案,以便您进行处理;它们还会使用 CSS 为您的 HTML 组件添加样式,使其看起来简洁而专业。这些都属于前端领域;然而,通常我们所说的前端框架指的是 JavaScript 框架。

一些用户界面框架包括:

  • 引导程序
    • 非常知名且由 Twitter 打造
    • 易于学习且看起来很专业
    • 很容易就能识别出“Bootstrap 网站”
    • 定制组件可能很困难
  • 实现
    • 干净整洁
    • 比 Bootstrap 更“有趣”
    • 多种款式和颜色选择
    • 遵循 Google 的 Material 风格指南
  • 基础
    • 很多例子
    • 专业外观
  • 语义用户界面
    • 内置大量
    • 内置主题,可定制
  • 索环
    • 非常注重可访问性
    • 看起来非常干净
    • 不像其他一些那样常用
    • 专为 React JS 打造(我们稍后会介绍的另一个框架)

选择 UI 框架

选择用户界面框架主要取决于个人对外观的偏好以及网站的目标。不同的风格可能适合不同的行业,也可能向用户传达不同的信息。

前端框架

在大多数情况下,前端框架是用 JavaScript 编写的,用于组织网站的功能和交互性。其中包括:

  • Vue
    • 易于学习
    • 非常快
    • 所有相关工具都包装得很好
    • 从 Angular 和 React 中获取部分内容并进行优化
    • 不如其他一些方法广泛采用
    • 灵活——您可以通过多种方式使用它
  • AngularJS
    • 由 Google 打造
    • 得到很好的支持
    • 大量功能
    • 提高应用程序的可扩展性
    • 难以调试
    • 学习曲线较大
  • Angular 2+
    • 由 Google 打造
    • 得到很好的支持
    • 鼓励可重用性
    • 提高应用程序的可扩展性
    • 学习曲线较大
  • 反应
    • 由 Facebook 打造
    • 将前端代码捆绑到组件中
    • 组织代码和数据,使代码更可重用
    • 学习曲线较大
  • 余烬
    • 提供大量开箱即用的功能
    • 固执己见(你必须使用它的格式)
    • 学习曲线陡峭

选择前端框架

前端框架的世界发展得特别快,似乎每隔几个月就会有一个新的前端框架崛起。学习适合你的东西,不要太在意哪个是当下“最热门”的。

有些人认为 React 和 Vue 是库而不是框架,但很多人认为它们是框架,所以我把它们都包括在内!

后端框架

后端框架种类繁多,种类繁多。它们由各种编程语言编写,功能也各有不同。与上面的列表类似,下面列出了一些用于编写应用程序后端的框架,但并不完整。

  • Spring MVC
    • Java(更难学的语言)
    • 非常快
    • 不那么固执己见
  • Django
    • Python(更容易学习的语言)
    • 在非常固执己见和缺乏条理之间取得平衡
    • 为您提供许多开箱即用的功能(如用户身份验证、数据库连接和视图渲染)
    • 集成一个花哨的前端可能很困难。
    • Python 的数据处理能力令人惊叹
  • 烧瓶
    • Python(更容易学习的语言)
    • 与 Django 相比,更少主观性,更可定制
    • 给你的开箱即用功能较少(你必须构建更多)
  • Ruby on Rails
    • Ruby(更容易学习的语言)
    • 非常固执己见
    • 拥有脚手架等出色的工具,因此您可以快速构建事物
    • 为您提供许多开箱即用的功能(如用户身份验证、数据库连接和视图渲染)
    • 资产管道有助于前端开发
    • Ruby 运行程序所需的时间比其他一些编程语言更长
  • 流星
    • JavaScript(更容易学习的语言)
    • 为您提供许多开箱即用的功能(如用户身份验证、数据库连接和视图渲染)
    • 与现代前端完美集成
  • 表达
    • JavaScript(更容易学习的语言)
    • 高度可定制
    • 非常轻便
    • 内置功能较少
    • Node 非常快

选择后端框架

通常,您会根据编写的编程语言来选择后端框架。此外,还要考虑您想要添加的功能——例如,如果您想要为您的网站进行身份验证(或用户登录),那么在内置身份验证的 Django 中编写它会比在需要额外服务的 Flask 中编写它会容易得多。

了解更多

如果您想使用或学习框架,这里有很多使用不同框架构建的应用程序,您可以评估哪一个最适合您。市面上还有更多不同规模和流行程度的框架,但本文将简要介绍一些流行的框架,并告诉您从哪里开始。对于应该先学什么,没有正确的答案!任何事物都有其利弊,所以请权衡对您来说最重要的因素,然后从那里开始。框架非常有用,在大多数情况下可以大大加快代码编写速度,但在此之前拥有扎实的编程基础也非常重要——因此,请确保您首先熟悉框架所用的语言。框架对于编写网站非常有用,因为它们强制使用框架中的其他开发人员可以理解的结构,并且它们为您提供通用的功能,这样您就不必重新发明轮子了!

从哪里开始学习...

如果您需要一个应用程序的想法......

如果你想阅读更多关于框架的文章

保持联系!

如果您喜欢这篇文章,请查看我的完整博客订阅我的周五每周总结!

文章来源:https://dev.to/aspittel/what-is-a-web-framework-and-why-should-i-use-one-38c0
PREV
我眼中的生产力是什么样的
NEXT
程序员最重要的非编程技能 关于“软技能”的命名 关于“同理心” 关于社区参与 总结