当前位置: 首页 > news >正文

前端零基础入门到上班:【Day1】什么是前端?

在这里插入图片描述

本来打算开付费专栏 但是想起那句话 赠人玫瑰手留余香

        • 引言
        • 1. 什么是前端?
          • 1.1 前端的定义
          • 1.2 前端的三大核心技术
          • 1.3 前端框架和工具
        • 2. 什么是后端?
          • 2.1 后端的定义
          • 2.2 后端的组成要素
          • 2.3 后端框架和工具
        • 3. 前后端的区别
        • 4. 什么是前后端分离?
          • 4.1 前后端耦合与前后端分离
          • 4.2 前后端分离的好处
          • 4.3 前后端分离的实现方式
        • 5. 前后端分离的示例场景
        • 总结

引言

在现代 Web 开发中,前端开发后端开发是两大重要领域,它们共同决定了一个网站或应用的功能和用户体验。然而,前端和后端到底是什么?它们之间有什么区别?为什么现代开发越来越强调“前后端分离”?本篇将带你系统化地认识这些概念,帮助你构建扎实的前端开发基础。


1. 什么是前端?
1.1 前端的定义

在我们访问一个网站时,所有能够直接看到、点击、输入和互动的部分,都是由前端来实现的。前端主要是指用户可视界面的开发,包含页面结构、样式、动态效果和互动功能,最终目标是为用户提供友好且美观的交互界面。

1.2 前端的三大核心技术

前端开发的实现主要依赖以下三大核心技术:

  • HTML(HyperText Markup Language):前端开发的基础,用于定义网页的结构和内容。HTML 定义了网站的每个元素,如文本、图像、视频、链接等,让网页有“骨架”。

  • CSS(Cascading Style Sheets):用于网页的样式设计,定义 HTML 元素的显示方式,包括颜色、字体、布局等。CSS 让网页更加美观、有层次感。

  • JavaScript:赋予网页动态交互功能,使网页可以响应用户操作。比如按钮的点击、表单验证、图片轮播等功能都需要 JavaScript 支持。

这些技术的结合,让开发者可以构建功能丰富、互动性强的网页。随着前端技术的不断发展,HTML、CSS 和 JavaScript 的应用也越来越广泛和深入。

1.3 前端框架和工具

为了提升开发效率和用户体验,前端开发衍生出了一系列强大的框架和工具:

  • 框架和库:如 React、Vue.js、Angular 等,它们提供了大量预设的组件和功能,帮助开发者快速构建复杂的界面。

  • 预处理器和后处理器:如 Sass、Less(CSS 预处理器)、PostCSS 等,用于提升 CSS 的灵活性和可维护性。

  • 构建工具:如 Webpack、Parcel 等,用于打包、压缩和优化前端代码,提升网页加载速度。


2. 什么是后端?
2.1 后端的定义

与前端的用户交互界面不同,后端负责应用的业务逻辑、数据处理和管理。后端如同应用的“后台”,用户无法直接看到,但它负责网站或应用的核心功能和数据流转。后端的职责是确保数据存储安全、业务逻辑运行流畅,并根据请求将数据发送给前端。

2.2 后端的组成要素

后端主要由以下几个部分构成:

  • 服务器:为用户提供数据和计算资源的设备,托管网站和应用。服务器接收前端发送的请求,并根据业务逻辑返回相应的数据。

  • 数据库:用于存储和管理应用数据的系统,常见的数据库有 MySQL、MongoDB、PostgreSQL 等。数据库将结构化的或非结构化的数据保存下来,以便随时查询和更新。

  • 服务器端编程语言:用于编写业务逻辑代码,将应用的需求转化为功能,常见的后端语言有 Java、Python、PHP、Ruby、Node.js 等。

2.3 后端框架和工具

为了提升开发效率和代码的稳定性,后端开发者通常使用各种框架和工具:

  • 后端框架:如 Express(基于 Node.js)、Django(基于 Python)、Laravel(基于 PHP)等,这些框架提供了丰富的工具和功能,加速开发并提升代码的可维护性。

  • API:应用程序接口(API)是前后端沟通的桥梁,常见的 API 技术包括 RESTful API 和 GraphQL,通过这些接口,前端可以请求数据,而后端负责返回所需的数据。


3. 前后端的区别

了解了前端和后端的概念后,我们再来深入探讨一下两者的区别。前端和后端分别处理不同的任务,它们相辅相成,共同构成了一个完整的应用。

比较维度前端后端
目标提供美观、友好、流畅的用户界面处理业务逻辑,管理数据,确保功能正常运行
技术栈HTML、CSS、JavaScript、Vue.js、React 等Node.js、Java、Python、PHP、数据库(MySQL、MongoDB)等
执行环境用户的浏览器中服务器上
面向对象面向用户,提供良好的交互体验面向数据和逻辑,确保数据的正确性和安全性
关注点页面布局、样式、交互数据管理、业务逻辑
4. 什么是前后端分离?

在了解了前后端的区别后,现代 Web 开发中越来越强调的“前后端分离”概念就很容易理解了。前后端分离意味着前端和后端各自独立开发、部署和维护,两者通过 API 进行数据交换。这种开发模式带来了很多好处:

4.1 前后端耦合与前后端分离
  • 传统前后端耦合方式:早期的 Web 开发中,前端页面和后端逻辑紧密耦合在一起。每当用户请求一个页面,服务器会先处理业务逻辑,将数据填充到 HTML 模板中生成页面,再返回给浏览器。这种方式虽然简单,但页面每次请求都需要刷新,体验不佳。 浏览器的展示是由后端来决定的 其实就是服务器决定的。
    - 前后端分离模式:前后端分离的模式中,前端通过 AJAX、Fetch 或者 Axios 等方式调用后端提供的 API,获取数据并渲染页面。这样,前端的页面和后端的逻辑完全分离,只通过 API 进行数据交换,页面只需要局部刷新而无需整体加载。
4.2 前后端分离的好处
  • 提升用户体验:前端可以动态获取数据并局部刷新页面,减少了页面跳转和加载时间,用户体验更流畅。

  • 提高开发效率:前后端开发可以并行进行,前端专注界面和交互,后端专注数据和逻辑,减少了开发依赖性。

  • 便于技术升级和维护:前后端代码独立,便于维护和更新。前端可以随时切换技术框架,而后端则可以逐步优化,不会相互影响。

4.3 前后端分离的实现方式
  • RESTful API:通过 REST 风格的接口,前端可以按需请求资源,如 CRUD(增删查改)操作,非常适合大部分 Web 应用。

  • GraphQL:一种灵活的查询语言,让前端可以按需请求数据字段,减少了冗余数据的传输,适合复杂应用的数据请求。


5. 前后端分离的示例场景

为了更好理解前后端分离的应用场景,以下是一个电子商务网站的示例:

  • 前端:用户访问一个在线商城,页面的商品展示和购物车动态更新,这些交互由前端处理。用户点击商品、添加到购物车等操作会触发 JavaScript 动作,并通过 Axios 发送请求。

  • 后端:接收到请求后,后端服务器查询数据库,返回商品数据。后端还负责处理库存管理、支付逻辑等,确保商品库存与订单信息准确无误。

通过 API,前端可以迅速获取最新的商品信息,局部刷新商品列表,不需要刷新整个页面,提升了购物体验。
在这里插入图片描述

总结
  • 前端:定义页面结构、样式和交互,让用户看到并与应用互动的部分。
  • 后端:负责业务逻辑和数据处理,确保应用核心功能的正常运行。
  • 前后端分离:是一种现代化开发模式,通过 API 将前端与后端分离,提升开发效率和用户体验。

通过深入了解前端、后端及前后端分离的概念,希望你能对 Web 开发的整体架构有更系统的认识。接下来的学习中,我们将带你进一步了解前端开发的具体技术,实现从零到项目开发的顺利过渡!

相关文章:

前端零基础入门到上班:【Day1】什么是前端?

本来打算开付费专栏 但是想起那句话 赠人玫瑰手留余香 引言1. 什么是前端?1.1 前端的定义1.2 前端的三大核心技术1.3 前端框架和工具 2. 什么是后端?2.1 后端的定义2.2 后端的组成要素2.3 后端框架和工具 3. 前后端的区别4. 什么是前后端分离&#xff1f…...

搜索二叉树 Binary Search Tree(BST)

【提醒】本章内容需掌握二叉树结构的基本概念和特性,不然可能阅读起来比较费劲。 一、 概念 什么是搜索二叉树?搜索二叉树和普通二叉树的却别是什么? 答: 二叉搜索树又称二叉排序树,它或者是一棵空树 或者是具有以下性…...

数据库表字段插入bug

瀚高数据库 目录 环境 BUG/漏洞编码 症状 触发条件 解决方案 环境 系统平台:Linux x86-64 Red Hat Enterprise Linux 7 版本:4.5.1 BUG/漏洞编码 3355 症状 数据库安全版v4.5.1,安装包为:hgdb4.5.1-see-centos7-x86-64-20210804.…...

信创环境模拟:X86架构下部署搭建aarch64的ARM虚拟机

在真实系统为x86架构下,搭建arm64的虚拟开发环境。在该环境中直接下载打包项目依赖的python运行环境。 前言 随着国家信创环境的要求普及,基本和国家沾边的政企事业单位都换成了信创环境,即ARM64的cpu服务器,而且该类服务器是不…...

TSO的资料

TSO即TCP Segmentation Offload,相关资料如下: Segmentation Offloads in the Linux Networking StackWhat is TCP Segmentation OffloadUnderstanding TCP Segmentation Offload (TSO) and Large Receive Offload (LRO) in a VMware environment...

OpenCV视觉分析之目标跟踪(3)实现基于金字塔的 Lucas-Kanade 算法来进行稀疏光流计算的类SparsePyrLKOpticalFlow的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 用于计算稀疏光流的类。 该类可以使用带有金字塔的迭代 Lucas-Kanade 方法来计算稀疏特征集的光流 cv::SparsePyrLKOpticalFlow 类是 OpenCV 库…...

乐维网管平台(一):如何精准掌控 IP 管理

业网络已成为支撑业务运转的关键基础设施,而在企业网络管理中,IP 管理至关重要,它就像是网络秩序的守护者,确保网络的高效运行、安全可靠。 一、为什么企业要进行 IP 管理 1. 优化资源分配 IP 地址作为网络中的重要资源&#xf…...

React-Route新版本(v6或以上)用法示例

新版本的React-Route (v6或以上,但不排序后续版本还会有修改),移除了Switch,写法和老版本有一些区别,下面分享一个示例: JSX文件: import React, {StrictMode } from react import { createRoot } from react-dom/cli…...

卡方检验方法概述与类型——四格表和R*C表卡方检验案例

卡方检验是以卡方分布为基础,针对定类数据资料的常用假设检验方法。其理论思想是判断实际观测到的频数与有关总体的理论频数是否一致。 卡方统计量是实际频数与理论频数吻合程度的指标。卡方值越小,表明实际观察频数与理论频数越接近,反之卡…...

在浏览器和Node.js环境中使用Puppeteer的Rollup与Webpack打包指南

Puppeteer是一个Node.js库,它提供了一套高级API来通过DevTools协议控制Chrome或Chromium。虽然Puppeteer通常在服务器端使用,但有时你可能需要在浏览器环境中使用它的某些功能。本文将介绍如何使用Rollup和Webpack来打包包含Puppeteer或其轻量级版本Pupp…...

GPT论文整理提示词

论文阅读 指令1:粗读论文 请你阅读并理解这篇文献,然后将该篇文章的标题作为一级标题,将摘要和各个大标题作为二级标题,将小标题作为三级标题,将小标题下每一部分内容作为四级标题,给我以markdown的语言输出中文的翻…...

在培训班学网络安全有用吗

在当今数字化时代,网络安全问题日益凸显,成为了企业和个人关注的焦点。随着对网络安全人才需求的不断增长,各种网络安全培训班也如雨后春笋般涌现。然而,在培训班学网络安全真的有用吗? 一、网络安全的重要性与挑战 1. 信息时代的…...

Flink CDC系列之:理解学习YARN模式

Flink CDC系列之:理解学习YARN模式 准备会话模式在 YARN 上启动 Flink 会话设置 Flink CDC提交 Flink CDC Job Apache Hadoop YARN 是许多数据处理框架中流行的资源提供者。Flink 服务提交给 YARN 的 ResourceManager,后者在由 YARN NodeManagers 管理的…...

langgraph入门

使用langgraph框架搭建一个简易agent。 最近想学习一下agent相关知识,langgraph似乎挺好的,于是就来试一试。langgraph。看了官网,起核心思想是将agent中的角色和工具都当作是图的Node,整个agent流程通过增加Node之间的边来设定。…...

【Python】爬虫程序打包成exe

上一篇写了爬虫获取汽车之家配置表,师父要更方便使用甚至推广(?),反正就是他们没有环境也能用嘛,我就直接打包了,界面不会做也懒得学了、、 1、下载pyinstaller(清华镜像&#xff09…...

【力扣专题栏】两两交换链表中的节点,如何实现链表中两两相邻节点的交换?

这里写目录标题 1、题目描述解释2、算法原理解析3、代码编写 1、题目描述解释 2、算法原理解析 3、代码编写 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int…...

埋点采集的日志数据常见的格式简介

埋点采集的日志数据通常以结构化或半结构化的格式进行记录,以便于分析和处理。常见的格式包括: 1. JSON(JavaScript Object Notation) 特点:JSON 格式是一种轻量级的数据交换格式,具有良好的可读性和兼容…...

基于SSM高考志愿辅助填报系统设计与实现

前言 近年来,由于计算机技术和互联网技术的飞速发展,所以各企事业单位内部的发展趋势是数字化、信息化、无纸化,随着这一趋势,而各种决策系统、辅助系统也就应运而生了,其中,信息管理系统是其中重要的组成…...

elasticsearch 8.x 插件安装(六)之Hanlp插件

elasticsearch 8.x 插件安装(六)之Hanlp插件 elasticsearch插件安装合集 elasticsearch插件安装(一)之ik分词器安装(含MySQL更新) elasticsearch 8.x插件(二)之同义词安装如何解决…...

排序算法简记

列举几种基本的排序算法和排序思想 排序就是将一组对象按照某种逻辑顺序重新排列的过程。 一、选择排序 1、基本原理 最基本的排序,每次都从原有数据中选择最小或最大的数组放入新数据集中 2、步骤(以从小到大为例) 首先, 找到数组中最小的那个元素…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

【机器视觉】单目测距——运动结构恢复

ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛&#xf…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...