SSMSSM
首页
  • 我的博客
  • 我的Github
首页
  • 我的博客
  • 我的Github
  • Java反射技术
  • 动态代理模式
  • 设计模式简介
  • 责任链模式
  • 观察者模式
  • 工厂模式与抽象工厂模式
  • 建造者模式
  • Web开发历史
  • Mybatis核心组件
  • Mybatis的反射
  • Mybatis配置

Web开发历史

  • Web 技术与框架演进(按时间)
    • 1990s — Web 1.0 静态页面时代
    • 2000s — Web 2.0 动态交互、MVC
    • 2010s — 前后端分离与 SPA 盛行
    • 2020s — 现代化工具与全栈趋势
  • 技术出现的动因与影响总结

Web 技术与框架演进(按时间)

1990s — Web 1.0 静态页面时代

  • 1991 - HTML 诞生

    • 背景: Tim Berners-Lee 发明 HTML,作为 Web 的标记语言,用于创建超文本页面。
    • 影响: 开启了网页开发时代,页面是完全静态的。
  • 1995 - JavaScript 诞生

    • 背景: Netscape 为浏览器添加脚本语言,使网页具有交互能力。
    • 影响: 静态页面变得可动态交互。
  • 1996 - CSS 发布

    • 背景: 为了解决 HTML 中样式与结构混杂的问题,引入了层叠样式表。
    • 影响: 分离结构和样式,前端展示能力增强。

2000s — Web 2.0 动态交互、MVC

  • 1999 - Ajax 概念提出

    • 背景: 为了避免页面刷新,实现局部异步更新。
    • 影响: 后来成为现代前端异步交互核心方式。
  • 1999 - Java Servlet / JSP / Java EE 发布

    • 背景: 为了构建动态网页内容,Java 推出服务端组件。
    • 影响: Java 成为早期企业 Web 后端主流语言。
  • 2002 - Spring Framework 发布

    • 背景: 为了解决 Java EE 笨重、配置复杂的问题,Rod Johnson 推出轻量级框架。
    • 影响: 推动后端开发走向 IoC / AOP、解耦模块。
  • 2003 - SpringMVC 发布

    • 背景:

      • Java EE 中的 Servlet、JSP 技术开发复杂、耦合度高,不易维护;

      • Spring 框架提出了 IOC 与 AOP 编程模型,为了支持 Web 开发,推出 SpringMVC 模块。

    • 影响:

      • 实现了基于注解和配置的解耦式 Web 控制器;

      • 成为 Java Web MVC 开发的主流方案;

      • 构成 Spring 全家桶的重要基础之一。

  • 2006 - jQuery 发布

    • 背景: 原生 JavaScript 操作 DOM 复杂且兼容性差,jQuery 封装 DOM 与 Ajax 操作。
    • 影响: 成为 Web 2.0 时代最主流的前端库。
  • 2008 - Google V8 引擎发布

    • 背景: 提升 JavaScript 执行效率,推动 JS 性能飞跃。
    • 影响: 为 Node.js 和前端框架打下基础。
  • 2009 - Node.js 发布

    • 背景: 将 JavaScript 引入服务器端,实现前后端统一语言开发。
    • 影响: 开启全栈 JavaScript 开发模式,NPM 生态崛起。
  • 2009 - Redis 发布

    • 背景:

      • 在 Web 应用中,频繁访问数据库会成为性能瓶颈;
      • 传统关系型数据库在处理高并发读写、缓存、计数器等场景下效率不足;
      • Redis 由 Salvatore Sanfilippo 为了解决 LLOOGG.com 的性能问题而开发。
    • 影响:

      • 成为现代后端架构的核心组件之一;
      • 被广泛用于缓存、排行榜、会话存储、发布订阅、分布式锁等场景;
      • 带动了 NoSQL 技术的发展。

2010s — 前后端分离与 SPA 盛行

  • 2010 - MyBatis(前身 iBATIS,2002)
    • 背景:
      • Hibernate 等 ORM 框架虽然强大但复杂,不适合一些简单或高度定制 SQL 场景;
      • 开发者希望更灵活地编写 SQL,同时避免 JDBC 冗余代码。
    • 影响:
      • 简化数据库访问层开发,支持自定义 SQL 和对象映射;
      • 灵活度高,适用于中小型项目和对 SQL 可控性要求高的系统;
      • 与 Spring 框架深度整合,成为 Java 持久层开发常用选择。
  • 2010 - AngularJS(Google)发布

    • 背景: 为了构建大型前端应用,提出 MVC 模型、数据绑定等理念。
    • 影响: 开启“前端框架”时代,但学习曲线较陡。
  • 2013 - React(Facebook)发布

    • 背景: 为了解决复杂 UI 状态管理问题,引入组件化、虚拟 DOM。
    • 影响: 几乎重塑了前端开发范式,组件驱动成为主流。
  • 2014 - Vue.js (尤雨溪)发布

    • 背景: 受 Angular 与 React 启发,目标是更轻量、更易上手。
    • 影响: 中国及亚洲市场快速普及,成为主流框架之一。
  • 2014 - Spring Boot 发布

    • 背景:
      • Spring 虽功能强大,但配置复杂、上手门槛高;
      • 为了提升开发效率,简化项目搭建流程,Pivotal 推出了 Spring Boot。
    • 影响:

      • 提供“约定优于配置”的自动化开发体验;

      • 内嵌 Tomcat/Jetty,项目无需外部容器即可运行;

      • 成为现代 Java 后端项目的默认标准架构。

  • 2015 - Spring Cloud 发布

    • 背景:
      • 微服务架构兴起,系统需要支持服务注册发现、配置中心、负载均衡、链路追踪等分布式基础设施;
      • Spring Boot 单体系统架构无法满足微服务需求。
    • 影响:

      • 提供一整套微服务解决方案(与 Netflix OSS、Consul、Alibaba Cloud 等生态集成);

      • 降低企业落地微服务的门槛;

      • 推动 Java 后端从单体系统向云原生架构过渡。

  • 2015 - Redux 发布

    • 背景: React 组件间状态管理混乱,需要统一管理机制。
    • 影响: Flux 架构推广,影响 Vuex、Pinia 等状态管理库。
  • 2015 - ES6(ECMAScript 2015)发布

    • 背景: JavaScript 长期缺乏模块化等现代语言特性。
    • 影响: 引入 let/const, 模块、类、箭头函数等,现代 JS 成熟。
  • 2016 - Vue 2 发布

    • 背景: 更强的响应式系统、更好性能、更稳定。
    • 影响: 在国内外得到广泛使用,配合 Vue CLI 形成生态。
  • 2016 - Nuxt.js 发布

    • 背景: Vue 用于构建 SSR(服务端渲染)或静态站点(优化 SEO)。
    • 影响: 解决 SPA SEO 问题,推动前端向“全栈前端”进化。
  • 2016 - Next.js 发布

    • 背景: 类似于 Nuxt.js,为 React 提供 SSR 与 SSG 支持。
    • 影响: 成为 React SSR 项目的首选,广泛用于企业级项目。
  • 2013~2017 - Docker 普及与容器化兴起

    • 背景:

      • 软件开发过程中常见“在我机器上没问题”的环境不一致问题;

      • 虚拟机过于臃肿,启动慢,资源占用高;

      • Docker 采用容器技术,实现轻量级隔离,极大简化部署流程。

    • 影响:

      • 推动 DevOps、CI/CD、微服务等现代开发流程的兴起;

      • 成为部署和交付应用的事实标准;

      • 促成了容器生态的繁荣(如镜像仓库、监控、编排等)。

  • 2015 - Kubernetes(K8s)发布(Google)

    • 背景:

      • 使用 Docker 部署后,运维管理仍然繁琐(扩容、负载均衡、故障恢复等);
      • Google 总结 Borg 系统经验,推出 Kubernetes 作为开源容器编排平台。
    • 影响:

      • 成为容器集群调度的标准平台;

      • 促进云原生(Cloud Native)架构落地;

      • 与 DevOps、微服务、Serverless 技术深度融合。


2020s — 现代化工具与全栈趋势

  • 2020 - Vue 3 发布

    • 背景: 为了更好组织逻辑、更强性能,支持 TypeScript。
    • 影响: 提升可维护性与开发体验,Composition API 推动大型项目发展。
  • 2020 - Vite 发布

    • 背景: Webpack 构建缓慢,Vite 用 ES Module + 原生 HMR 提升开发体验。
    • 影响: 快速构建工具成为新标准。
  • 2022 - Nuxt 3 发布

    • 背景: Node.js 存在启动慢、模块系统旧等问题。
    • 影响: 以更快启动、更现代特性挑战 Node.js 地位。
  • 2022 - Next.js 13 发布

    • 背景:
      • React 社区希望实现“前端+后端+部署”一体化(全栈统一);
      • 原有 Next.js 页面路由和数据获取方式难以满足现代需求;
      • Next.js 13 引入全新的 App Router、布局系统、Server Component、边缘渲染。
    • 影响:

      • 推动 React 全栈开发进一步标准化;

      • 加速边缘计算(Edge Rendering)与动态网页性能优化的落地;

      • 成为企业构建现代 Web 应用的首选方案之一。

  • 2021 - Deno(Node.js 作者新作)

    • 背景:
      • Node.js 虽成功但早期设计存在历史包袱(如回调地狱、依赖管理、权限控制等);
      • Node.js 创始人 Ryan Dahl 为了修复这些问题,重新设计并开发 Deno;
      • 使用 TypeScript 支持原生运行、安全沙箱、去中心化依赖导入等特性。
    • 影响:

      • 启发开发者思考 JavaScript 运行时的现代化设计;

      • 成为“安全的、现代的 JS/TS 运行时”代表;

      • 逐渐用于边缘函数、脚本工具、Serverless 函数等场景。

  • 2022 - Bun 发布

    • 背景:
      • Node.js 和 npm 性能有限,生态复杂且启动慢;
      • JavaScript 工具链(打包器、包管理器、测试器)碎片化;
      • Bun 由 Jarred Sumner 使用 Zig 语言开发,目标是打造一体化高性能 JS 运行时。
    • 影响:

      • 提供超快的运行速度(内置 bundler、transpiler、test runner、npm client);

      • 逐渐挑战 Node.js 与 Deno 的运行时地位;

      • 推动 JavaScript 开发生态的性能革新与整合。

  • 全栈框架(Fullstack Framework)

    • 如:Nuxt 3、Next 13+、Remix、SvelteKit、Astro
    • 背景: 将“前端框架 + 路由 + SSR + API Server”集于一身,提升效率。
    • 影响: 前端工程师掌握后端接口编写能力,全栈趋势加强。

技术出现的动因与影响总结

技术/框架出现时间诞生背景影响
HTML1991创建网页结构万维网基础
CSS1996样式与结构分离美化网页
JavaScript1995网页交互网页动态行为
Ajax1999局部更新需求无刷新交互
jQuery2006DOM 操作复杂简化前端开发
JavaWeb (Servlet/JSP)1999后端动态网页Java 企业开发流行
Spring2002Java EE 复杂解耦后端逻辑
Node.js2009JS 服务端化全栈 JS 诞生
Redis2009高速缓存需求提升访问效率
Docker2013环境不一致容器化部署标准
Kubernetes2015容器管理难自动化运维利器
AngularJS2010构建大型 SPA前端 MVC 框架
React2013UI 状态复杂组件化 + 虚拟 DOM
Vue.js2014更易用框架中国开发者主流框架
Redux2015状态混乱统一状态管理
Nuxt.js2016Vue SEO 问题Vue SSR 解决方案
Next.js2016React SEO 问题React SSR/全栈框架
Vite2020构建缓慢快速原型开发
Vue 32020性能优化 + TS新一代 Vue 生态核心
最近更新:: 2025/4/20 03:22
Contributors: fireworks99
Prev
建造者模式
Next
Mybatis核心组件