【前端基础】02-命令式组件系统 | 声明式组件系统 | 响应式组件系统

文章目录

组件系统层次

软件开发范式

├── 声明式编程 (Declarative)

│ └── 声明式UI系统

│ ├── 响应式组件系统 (Reactive)

│ │ ├── 细粒度响应式 (SolidJS, Vue 3 Composition)

│ │ ├── 虚拟DOM+响应式 (Vue 2, React + MobX)

│ │ └── 编译时响应式 (Svelte)

│ │

│ └── 非响应式声明式

│ ├── 不可变数据流 (React with Hooks)

│ └── 传统模板系统 (早期模板引擎)

└── 命令式编程 (Imperative)

└── 命令式UI系统

├── 直接DOM操作 (jQuery, 原生JS)

├── 面向对象组件 (ExtJS, GWT)

└── 传统桌面GUI (WinForms, Swing)

比较

维度 命令式组件系统 声明式组件系统 响应式组件系统
核心理念​ 如何做 (How) 是什么 (What) 自动响应变化 (Auto-reactive What)
更新方式​ 手动操作DOM 状态→重新渲染 状态变化→自动精确更新
心智模型​ 步骤序列 UI = f(state) 状态与UI的自动连接
控制粒度​ 精细但繁琐 组件级或虚拟DOM级 变量级(最细粒度)
性能优化​ 手动优化 虚拟DOM diff,手动记忆化 自动依赖追踪,无diff
典型框架​ jQuery, ExtJS React, Vue 2, Angular Vue 3, SolidJS, Svelte

性能特征对比

操作 命令式 声明式(React) 响应式(Vue 3)
初始化​ 中等 中等
局部更新​ 最快 需要diff 直接更新
批量更新​ 手动优化 自动批量 自动批量
内存占用​ 高(虚拟DOM) 中等
首次加载​ 大(框架体积) 中等
相关推荐
特立独行的猫a6 分钟前
DeepSeek Harness插件和工具的区别介绍及开发入门指南
前端·ai·agent·插件·deepseek·harness
小新讲网安11 分钟前
HTTP请求走私攻击实战:CL.TE与TE.CL绕过前端服务器全解析
服务器·前端·网络·web安全·http·架构·漏洞
风骏时光牛马16 分钟前
AI办公系统异常事件复盘分析
前端
console.log('npc')19 分钟前
React 19 + Vite 企业级前端项目:从零搭建到规范交付
前端·react.js·前端框架
程序员黑豆24 分钟前
Java字符串常量池完全指南:原理、intern()方法与性能优化最佳实践
java·前端·ai编程
光影少年24 分钟前
react离线缓存、图片缓存方案
开发语言·前端·javascript·react native·react.js·缓存·前端框架
Canace30 分钟前
笔记本都合上了,Claude 为什么还能在手机上执行电脑上装的技能?
前端·人工智能·ai编程
cyadyx2 小时前
Vite 比 Webpack 构建效率更高
前端·webpack·node.js·vite
mCell3 小时前
AI 时代 SVG 画图的潜力
前端·agent·svg
我命由我123459 小时前
CesiumJS 笔记 - 获取容器中心点、Cartesian3 clone 方法、修改 Cartesian3 对象的高度
前端·javascript·css·前端框架·html·html5·js