杂谈:前端 UI 框架和 UI 组件库的区别

embedded/2025/3/19 5:53:32/

前端技术的概念比较多,容易搞混。

比如有些新人不理解前端 UI 框架和 UI 组件库的区别,今天我来简单说明一下两者的区别。

两者的区别

新人会搞混这两个概念,主要是因为在有些话语中,它们是同等的地位,比如下面这两句话:

“这个网页是用 React 编写的”

“这个网页是用 Ant Design 写的”

这两句话都没毛病,所以有人会问:ReactAnt Design 有什么区别?实际上,懂的人应该清楚,他俩的区别大了去了。

我们可以通过它们的目的和作用来区分它们。

UI 组件库主要是提供开箱即用的组件,让前端开发直接引用这些组件就可以快速搭建页面。

它除了极大地提升开发效率之外,还有统一 UI 的设计风格的目的。

比如:“一看这个网页的界面,就知道这是用 Ant Design 开发出来的”。

UI 框架主要是提供开发规范和设计范式,让前端开发基于这些规范和范式,还有框架提供的基础能力,提升开发效率,同时保证代码的质量。

它也有提升开发效率的作用,但除了这个之外,它还有统一代码的风格的目的。

比如:“一看这个项目的代码,就知道这是用 React 开发的”。

两者的关联

前端 UI 框架和 UI 组件库是有关联的,如果你用 ReactAnt Design 来理解它们的话,很容易会得出一个错误的结论:UI 组件库依赖前端 UI 框架。

实际上,我们可以用前端 UI 框架来实现一个 UI 组件库,但你并不需要必须这样做。

这样讲会有点绕,我画了个图,你一看就懂了:

在这里插入图片描述

我们的代码的组成形式是有很多种的,上面这张图可以按照每一个页面的纵向列来看:

  • 页面 A 非常简单,完全用原生 JavaScript 编写就可以了,根本没用前端框架和组件库;
  • 页面 B 使用了组件库 A,这个组件库是用原生 JavaScript 实现的;
  • 页面 C 使用 React 来实现,没有使用任何组件库;
  • 页面 D 使用了 Ant Design 组件库来快速实现,而 Ant Design 是通过 React 实现的;
  • 页面 E 使用了 Ant Design 组件库来快速实现,而 Ant Design 组件库也可以由 Vue 来实现;

因此,我们看到:前端 UI 框架和 UI 组件库是有一定关联的,UI 组件库在 UI 框架的上层;但它们并不是强相关的,可以互相独立存在;同一个设计规范的组件库也可以由不同的 UI 框架来实现

现在,你可以说出前端 UI 框架和 UI 组件库的区别了吗?

----------------【END】----------------

如果你是真心喜欢前端,并相信成长,想要提升自己的话,欢迎加入之道前端学习圈子。

戳这里 免费获取 之道前端的学习资料和专属服务。


http://www.ppmy.cn/embedded/173773.html

相关文章

五、AIGC大模型_07ChromaDB与RAG实战

0、向量数据库概述 向量数据库是一种新型的数据库,专门用于存储和检索高维向量数据,它结合了传统数据库(如关系型、文档型)的特点,并针对向量数据的特性进行了优化,主要用于支持语义检索、推荐系统、机器学…

linux安装配置rabbitmq

环境:centos7.6 1.下载安装Erlang https://www.erlang.org/patches/otp-26.2.5https://www.erlang.org/patches/otp-26.2.5 1.1 确认所需Erlang版本 Erlang与rabbitmq版本对应: Erlang Version Requirements | RabbitMQ 我这里选择最新版rabbitmq&a…

使用Mybatis 连接数据库 项目示例

建一个使用 MyBatis 连接数据库的项目涉及多个步骤。以下是一个简单的示例,展示如何创建一个 Maven 项目,配置 MyBatis,并编写相关的类、方法和测试用例 1.创建Maven项目 首先,创建一个 Maven 项目。你可以使用 IDE(…

Day19:把数字翻译成字符串

现有一串神秘的密文 ciphertext,经调查,密文的特点和规则如下: 密文由非负整数组成数字 0-25 分别对应字母 a-z 请根据上述规则将密文 ciphertext 解密为字母,并返回共有多少种解密结果。 LCR 165. 解密数字 - 力扣&#xff08…

从零开始使用 **Taki + Node.js** 实现动态网页转静态网站的完整代码方案

以下是从零开始使用 Taki Node.js 实现动态网页转静态网站的完整代码方案,包含预渲染、自动化构建、静态托管及优化功能: 一、环境准备 1. 初始化项目 mkdir static-site && cd static-site npm init -y2. 安装依赖 npm install taki expre…

Python接口自动化测试之Token详解及应用

以下介绍Token原理及在自动化中的应用。 一、Token基本概念及原理 1.Token作用 为了验证用户登录情况以及减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。 ​ 2.什么是Token Token是服务端生成的一串字符串,以作客户端进行请…

uni-app vue2 记住密码功能

1. html代码 <checkbox-group change"checkboxChange"><label><checkbox value"" :checked"ifSavePwd" style"transform: scale(0.6);"/>记住密码</label> </checkbox-group>2. js代码 默认复选款是不…

蓝桥杯Python赛道备赛——Day7:动态规划(基础)

本博客就蓝桥杯中所涉及的动态规划基础问题进行讲解&#xff0c;包括&#xff1a;递推、记忆化搜索、最长公共子序列&#xff08;LCS&#xff09;和最长上升子序列&#xff08;LIS&#xff09;。 每一种动态规划问题都在给出定义的同时&#xff0c;给出了其求解方法的示例代码&…