一、前端(Front-end)
网页或应用界面的精美效果通常来源于 设计师(UI/UX designer) 设计,而不是程序员直接画出来的。
-
UI(User Interface)设计师
- 负责界面布局、颜色搭配、按钮样式、图标等视觉效果
- 输出通常是 设计稿(Photoshop、Figma、Sketch 等格式)
-
前端开发(Front-end developer)
- 根据设计稿,把界面用 HTML、CSS、JavaScript 或框架(React/Vue/Qt QML)实现成可操作的网页或应用
- 调整交互效果、动画、响应式布局
前端负责 用户界面(UI)展示 和 交互逻辑(UX),也就是用户能看到和操作的部分。
技术示例
- Web 前端:HTML、CSS、JavaScript、React、Vue
- 桌面前端:Qt Widgets、Qt QML、Electron
- 移动端:Flutter、React Native、Swift、Kotlin
前端特点
- 面向用户
- 负责界面展示和交互
- 不直接操作数据库或处理复杂业务逻辑
Qt 示例
使用 Qt Widgets 开发桌面程序时,你可以:
- 绘制窗口界面(按钮、文本框、表格等)
- 响应用户操作(点击、输入、拖拽等)
- 通过信号槽机制处理事件
Qt 的桌面 GUI 功能相当于前端,但它也能通过网络或数据库模块与后端交互
二、后端(Back-end)
后端负责 业务逻辑处理、数据管理和接口提供,也就是用户看不到的系统部分。
技术示例
- 编程语言:C++、Python、Java、Node.js、Go
- 框架:Flask、Django、Spring Boot、Express
- 数据库:MySQL、PostgreSQL、MongoDB、Redis
后端特点
- 面向系统和数据
- 处理业务逻辑、数据存储和安全
- 向前端提供 API 接口,响应请求
示例流程
以用户登录为例:
- 前端收集账号密码并发送请求
- 后端验证信息
- 后端返回结果(成功或失败)
- 前端显示结果给用户
三、全栈(Full-stack)
全栈开发者能够 同时掌握前端和后端,可以独立开发从界面到数据库的完整应用。
特点
-
技术栈广,既要懂前端 UI,又要懂后端逻辑
-
灵活性高,可独立搭建小型系统
-
对 Qt 桌面应用,也可以算作小型全栈:前端使用 Qt GUI,后端调用接口或数据库
[用户浏览器/桌面应用] ⇄ [前端界面 (Qt)] ⇄ [后端服务器] ⇄ [数据库]