🏠

💻⚙️ 前端和后端是怎么工作的

深入了解前端和后端的构成、工作原理及协作关系

👨‍🏫 讲师:乌鸦哥

🎯 第一部分:前端

用户看得到、摸得着的部分

🤔 什么是前端?

📱 重要概念

  • 📱 App是一个前端
  • 🌐 网页也是一个前端
  • 🎯 小程序也是一个前端

💡 从技术角度来说,它们都属于前端

🎯 用不同方式打开

  • 📱 用手机打开App
  • 💻 用电脑打开网站
  • 💬 用微信打开小程序

✨ 本质都是前端!

❓ 为什么前端这么重要?

✍️ 写软件,其实主要就是写前端

🤔 当我们说要开发一个软件的时候,我们在讨论什么?

  • 👀 这个界面好不好看?
  • 🖱️ 用户操作方不方便?
  • ⚙️ 功能能不能正常使用?
  • 😊 用户体验怎么样?

📊 这些讨论的,99%都是前端的内容

👥 用户主要使用的就是前端

  • 👀 用户看到的
  • 👋 用户摸到的
  • 🖱️ 用户点击的

🎯 都是前端!


🔧 后端虽然很重要,但用户根本看不到

🔄 前端的核心作用:信息交互

💬 和用户进行信息交互

👥 用户来到我们的前端上,无非就是:

  • 🖱️ 点点这里,点点那里
  • 📝 填个表单
  • ⌨️ 输入一些文字
  • 📷 上传个图片或者视频
  • 👀 或者只是浏览浏览

🌉 前端是桥梁

🎯 前端的最核心作用:

让用户能够方便地和我们的系统进行信息交流


  • 📥 信息从哪里来?→ 后端
  • 💾 信息存到哪里?→ 后端

🌉 前端就是用户和后端之间的桥梁!

🏗️ 前端项目的构成

重点来了!

🎯 第一层:分类

📱 前端的三大类

  • 🌐 网页:用浏览器打开的
  • 📱 APP:手机上下载安装的
  • 🎯 小程序:在微信、支付宝里打开的

💡 虽然形式不同,但本质都是前端

🎯 都是为了和用户交互

🎯 第二层:组成部分

📄 1. 页面

📚 任何一个前端,都是由一页一页的页面组成的

📖 就像一本书由很多页组成一样

📱 一个App或网站也是由很多页面组成的

📄 页面的两种类型

  • 🔒 纯静态页面:内容是固定的,比如公司介绍页面
  • 🔄 动态页面:内容会变化,比如你的朋友圈,每次刷新内容都不一样

🧩 2. 板块

📱 每个页面下面,又分为不同的板块

🛒 比如你打开手机淘宝,首页就有:

  • 🔍 搜索栏板块
  • 🖼️ 轮播图板块
  • 🛍️ 商品推荐板块
  • 🧭 底部导航板块

⚙️ 每个板块负责不同的功能

🎯 第三层:板块的进一步分类

📝 1. 普通板块

✏️ 就是写死在页面里的

🔄 每个页面都不一样的板块

🧩 2. 组件(重点!)

🤔 聪明的小伙伴可能会想:

💡 有些板块看起来很相似,只是内容不同

❓ 我可不可以重复使用?


你想得对!

♻️ 可重复使用的组件

🔧 那些看起来很相似的板块,我们可以做成可以重复使用的"组件"

  • 🔘 按钮组件:样式都差不多,只是文字不同
  • 🛍️ 商品卡片组件:格式都一样,只是商品信息不同
  • 👤 用户头像组件:显示方式都一样,只是头像图片不同

🧩 组件组合成页面

🔧 一个页面通常是由好几个组件组合而成的

🎯 就像积木一样,用不同的组件搭建页面

🎯 第四层:组件的构成

📄 每个组件里面的两种内容

  • 🔒 纯静态页面:内容是固定的,不会变化
  • 🔄 动态页面 - 接收值:内容会根据传入的数据而变化

🛍️ 比如商品卡片组件,可以接收不同的商品信息,然后显示不同的商品

🎯 第五层:技术构成

页面和组件的核心技术

🦴 1. 骨架(HTML)

💀 就像人的骨头一样,决定了这个页面的基本结构

  • 📝 这里放一个标题
  • 🔘 那里放一个按钮
  • 🖼️ 下面放一个图片

💄 2. 化妆(CSS)

💅 就像给人化妆一样,决定了页面好不好看

  • 🎨 背景是什么颜色
  • 📝 字体多大,什么颜色
  • 🔘 按钮是什么样式
  • 📐 整体布局怎么排列

⚡ 3. 动作(JavaScript)

🎬 决定了页面能做什么动作,有什么交互

  • 🖱️ 点击按钮会发生什么
  • 📤 表单提交后怎么处理
  • 🚀 页面加载时要做什么
  • 📜 用户滚动页面时有什么效果

⚙️ 第二部分:后端

用户看不到但很重要的部分

🤔 怎么理解后端呢?

💭 前端的局限

📱 刚才我们说前端负责:

  • 👀 展示信息
  • 📝 收集信息

❓ 但是这些信息从哪来?存到哪去?

🎯 后端的作用

⚙️ 后端主要帮助前端:

  • 💾 存储数据
  • 📤 提供数据

🔗 他们通过链接来进行数据交换

❓ 后端的主要组成部分有哪些?

🤔 数据分类的问题

💡 我的后端有各种各样的数据

❓ 我是不是得有办法把不同的数据给分开?

🌐 解决方案:不同路径

💡 在域名后面加上不同的路径

📂 用 / 加上不同的名字来区分

✅ 这样就能把数据分开了

🏦 生活中的比喻

🏦 银行窗口的例子

💡 这就好比你去银行

🪟 你办不同的业务要去不同的窗口

  • 💰 存款业务?→ 1号窗口
  • 💳 办卡业务?→ 2号窗口
  • 📄 查询业务?→ 3号窗口

✅ 对不对?

🛣️ 路由概念

🎯 什么是路由?

⚙️ 负责处理不同路径对应不同数据的功能

🛣️ 我们称之为 路由

📶 不是路由器的那个路由哦

😊 是不是也挺简单的?

❓ 为什么不直接连接?

🤔 有同学要问了

❓ 为什么这么麻烦?

🔗 为什么不直接把前端和数据库连起来?

➕ 为什么中间还要再加一个后端?

💻 单机软件确实可以

💼 你电脑上的很多软件就是这么做的:

  • 📊 Excel、Word
  • 🎮 单机游戏

💾 前端直接和数据库连在一起

📦 一起打包让你下载

🚫 没有后端这个概念

🌐 互联网应用的不同

⚠️ 数据需要先处理

🌐 但是在绝大部分互联网应用中

📤 前端传过来的数据

❌ 我们不是直接就可以存到数据库里面的

🔧 往往还要先处理一下

🍽️ 餐馆的比喻

🧊 冰箱存储的例子

💡 道理很简单

🍽️ 想象下你开个餐馆,你有一个冰箱

🧊 你把东西放进冰箱之前

🧼 你不得给他洗一下,去掉包装对不对?

🔧 这些杂七杂八的事儿

⚙️ 这就是后端所干的事儿(后端就是中间商)

✅ 明白了吗?

🔐 后端的主要工作

👮‍♂️ 身份验证

🔍 判断你小子是谁

❌ 允不允许访问数据

🎫 如果允许就给你发一个令牌

🔑 你后面每次来都得带上

🗂️ 数据管理

📋 把数据库里的数据分门别类

🏷️ 使用不同的标签分类

🎯 方便你访问

🤝 第三部分:前端和后端的协作

它们是如何配合工作的

🔄 完整的工作流程

📱 用户操作前端

  1. 👀 用户看到前端界面
  2. 🖱️ 用户点击按钮或填写表单
  3. 📤 前端收集用户的操作和数据

🌐 前端请求后端

  1. 🔗 前端通过链接向后端发送请求
  2. 📦 请求中包含用户的数据和操作指令

⚙️ 后端处理请求

  1. 🛣️ 后端路由判断请求类型
  2. 🔐 验证用户身份和权限
  3. 🔧 处理和清洗数据
  4. 💾 存储或读取数据库数据

📤 后端返回结果

  1. 📋 后端整理好数据
  2. 📤 返回给前端
  3. 📱 前端更新界面显示给用户

🌟 完整技术架构图

🏗️ 全栈架构一览

👤 用户
 ↕️
💻 前端(网页/APP/小程序)
├── 📄 页面
│   ├── 🧩 组件
│   │   ├── 🦴 HTML(骨架)
│   │   ├── 💄 CSS(样式)
│   │   └── ⚡ JavaScript(交互)
 ↕️ (通过链接交互)
⚙️ 后端
├── 🛣️ 路由(分发请求)
├── 🔐 身份验证
├── 🔧 数据处理
 ↕️
🗃️ 数据库
            

🤖 与AI沟通更清楚

💬 和AI开发前端时的沟通

  • 🛍️ "我要一个商品展示的组件"
  • 📝 "这个组件需要接收商品名称、价格、图片"
  • 🎨 "样式要简洁大方"
  • 🔗 "点击后要跳转到商品详情页"

💬 和AI开发后端时的沟通

  • 🛣️ "我需要一个商品管理的路由"
  • 🔐 "需要验证管理员权限"
  • 💾 "可以增删改查商品信息"
  • 📋 "返回JSON格式的数据"

📋 总结

💻 前端核心要点

  • 🎯 分类:网页、APP、小程序
  • 📄 构成:页面→板块→组件
  • 🔧 技术:HTML(骨架)+ CSS(样式)+ JavaScript(交互)
  • 👥 作用:用户交互的桥梁

⚙️ 后端核心要点

  • 🛣️ 路由:根据不同路径分发数据
  • 🔐 验证:确认用户身份和权限
  • 🔧 处理:清洗和整理数据
  • 💾 存储:管理数据库数据

🤝 协作关系

  • 🌉 前端是用户和系统的桥梁
  • ⚙️ 后端是数据处理的中间商
  • 🔗 通过链接进行数据交换
  • 🎯 共同为用户提供完整的服务

🎉 谢谢大家!

🏆 现在你们都理解前端和后端的工作原理了!

💡 是不是比想象中简单很多?

💻⚙️ 开始用AI开发你的全栈项目吧!

❓ 有问题随时提问!