Web发展与Vue.js导读

Web,即 World Wide Web,中文译作"万维网"。从静态网页到现代前端框架,Web的发展经历了几个明显阶段。理解这些阶段,有助于更好地理解 Vue 的出现背景和价值。


一、Web的历史演变

1. 石器时代:静态网页

早期网页没有数据库支持,本质上是一张可以在网络上浏览的"报纸"。用户浏览网页时,内容固定、交互有限。直到 CGI 技术的出现,网页才能通过小段代码与数据库或文件系统进行交互,例如 1998 年的 Google 就依赖此技术。

特点:

  • 页面静态,浏览体验单一
  • 数据交互能力有限

2. 文明时代:服务端渲染

2005 年左右,ASP(微软)和 JSP(Java Server Pages)开始流行,取代了 CGI 技术。它们可以在服务器端处理逻辑并生成 HTML 返回客户端。示例 JSP 代码:

ini 复制代码
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<title>JSP demo</title>

特点:

  • 增强了 Web 与服务器交互的安全性
  • 页面灵活度低,每次请求都依赖服务器渲染
  • 同期,Ajax 技术开始普及,实现异步数据更新

3. 工业革命时代:前端框架的出现

移动设备普及后,SPA(Single Page Application 单页面应用)开始兴起。Backbone、EmberJS、AngularJS 等前端框架陆续出现,提高了开发效率,降低了开发门槛。

特点:

  • 提高开发效率,减少重复劳动
  • 解决复杂页面交互问题
  • 初期 SPA 面临 SEO 和复杂 View 绑定问题

4. 百花齐放时代:现代前端

如今,前端技术多样化,框架和工具层出不穷,每种技术都为特定场景提供解决方案。Vue 的出现就是为了解决开发灵活性和易用性问题。


二、Vue.js简介

Vue.js(/vjuː/,简称 Vue)是一个用于构建用户界面的开源 JavaScript 框架,也是创建单页应用的前端框架。它专注于视图层,同时能方便地处理数据更新,实现视图与模型交互。

  • 作者:尤雨溪
  • 发布:2014 年 2 月
  • 特点:轻量、易上手、高开发效率
  • 社区活跃度:GitHub 上星标数排名前三

三、Vue核心特性

1. 数据驱动(MVVM)

MVVM 模型包括:

  • Model:处理业务逻辑和服务器交互
  • View:负责 UI 展示
  • ViewModel:连接 Model 与 View,实现双向绑定

简图:

sql 复制代码
Model ↔ ViewModel ↔ View

2. 组件化

概念 :将界面和逻辑抽象为独立可复用单元,每个 .vue 文件即为一个组件。

优势:

  • 降低耦合度,可快速替换组件
  • 调试方便,定位问题高效
  • 提高可维护性,组件复用提升整体系统质量

3. 指令系统

指令是带 v- 前缀的特殊属性,当数据改变时,DOM 自动响应更新。

常用指令:

  • 条件渲染:v-if
  • 列表渲染:v-for
  • 属性绑定:v-bind
  • 事件绑定:v-on
  • 双向绑定:v-model

与传统开发相比,Vue 不直接操作 DOM,而是通过数据驱动视图变化。


四、Vue与传统开发对比

以"注册账号"功能为例:

  • jQuery 实现

    • 手动获取 DOM 元素
    • 点击按钮显示/隐藏页面元素
    • 逻辑耦合度高
  • Vue 实现

    • 使用变量控制 DOM 显示与否
    • 点击按钮只需修改变量,DOM 自动更新
    • 核心理念:操作数据,而非直接操作 DOM

五、Vue与React对比

特性 Vue React
组件化
服务器端渲染 支持 支持
虚拟 DOM
数据驱动视图 可变数据 不可变数据
原生方案 Weex React Native
构建工具 vue-cli Create React App
组件通信 子向父通过事件和回调 子向父通过回调函数
diff算法 双向指针边对比边更新 diff队列批量更新DOM

Vue 与 React 没有绝对优劣,选择取决于具体场景需求。


参考资料


**声明:**本文部分内容借助 AI 辅助生成,并由作者整理审核。

相关推荐
子兮曰10 小时前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰10 小时前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万11 小时前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝11 小时前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋11 小时前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁12 小时前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王952714 小时前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大14 小时前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师14 小时前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学15 小时前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端