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 辅助生成,并由作者整理审核。

相关推荐
前端人类学1 分钟前
前端输入框禁用:disabled、readonly 与.prop (‘disabled‘, true) 完全解析
前端·javascript
优秀稳妥的JiaJi34 分钟前
分享一篇后台管理系统的通用skills
前端·vue.js·前端框架
程序员阿耶41 分钟前
移动端适配终极指南:rem 原理与实战
前端
user861581857815443 分钟前
彻底解决 Dart Sass 升级导致的 @import 弃用警告及 Vite 缓存踩坑实录
前端
青青家的小灰灰1 小时前
Pinia 完全指南:重构你的 Vue 3 状态管理架构
前端·javascript·vue.js
yuki_uix1 小时前
深入理解 JavaScript Event Loop:从概念到实践的完整探索
前端·javascript
程序员阿峰1 小时前
WebSocket 原理解析
前端
Lee川1 小时前
JavaScript 继承进化史:从原型链的迷雾到完美的寄生组合
前端·javascript·面试
米饭同学i1 小时前
微信小程序实现故事线指引动画效果
前端
阿懂在掘金1 小时前
为什么写 Vue 强烈建议用 Setup?除了复用,更是代码组织
前端·vue.js