跳转到主要内容

热门内容

今日:


总体:


最近浏览:


Chinese, Simplified

在软件工程中,术语前端和后端是指一个软件的表示层(前端)和数据访问层(后端)之间的关注点分离,或者是指物理基础设施或硬件。在客户机-服务器模型中,客户机通常被视为前端服务器通常被视为后端,即使某些演示工作实际上是在服务器本身上完成的。

介绍

在软件架构中,硬件和最终用户之间可能有许多层。前端是一个抽象,通过提供用户友好的界面简化了底层组件,而后端通常处理数据存储和业务逻辑

在电信中,前端可以被视为设备或服务,而后端则是支持服务提供的基础设施。

经验法则是客户端(或“前端”)是用户操作的任何组件服务器端(或“后端”)代码通常驻留在服务器上,通常在物理上远离用户

软件定义

  • 在内容管理系统中,术语前端和后端可分别指CMS的面向最终用户的视图和管理视图。[1]
  • 在语音合成中,前端是指合成系统中将输入文本转换成符号语音表示的部分,后端是指将符号语音表示转换成实际声音的部分
  • 对于主要的计算机子系统,图形文件管理器是计算机文件系统的前端,shell与操作系统接口。前端面向用户,后端响应启动操作系统程序。[需要引用]
  • 在编译器中,前端将计算机编程源代码转换为中间表示,后端与中间表示一起工作以生成计算机输出语言中的代码。后端通常进行优化以生成运行速度更快的代码。前端/后端的区别可以将处理源代码的解析器部分和生成代码并进行优化的后端分开。一些设计,比如GCC,提供了在多个前端(解析不同的源语言)或后端(为不同的目标处理器生成代码)之间的选择。[三]
  • 使用命令行界面(CLI)需要获取特殊术语并记住命令,因此图形用户界面(GUI)充当前端桌面环境。

以Web开发为例

理解两者区别的另一种方法是理解前端和后端软件开发人员所需的知识。下面的列表以web开发为例。

两者

  • 版本控制工具,如GitHub、SourceForge或Mercurial
  • 文件传输工具和协议,如FTP或rsync

前端关注

  • 标记和web语言(如HTML、CSS、JavaScript)以及这些语言中常用的辅助库(如Sass或JQuery)
  • 异步请求处理和AJAX
  • 单页应用程序(带有React、AngularJS或Vue.js等框架)
  • Web性能(首次有意义的绘制、交互时间、60 FPS动画和交互、内存使用等)
  • 响应式网页设计
  • 跨浏览器兼容性问题和解决方法
  • 使用无头浏览器进行端到端测试
  • 构建自动化以转换和捆绑JavaScript文件,减少图像大小。。。使用Webpack或Gulp.js等工具
  • 搜索引擎优化
  • 无障碍问题
  • 图像编辑工具(如GIMP或Photoshop)的基本用法
  • 用户界面

后端关注

  • 脚本语言,如JavaScript、Node.js、PHP、Python、Ruby或Perl,或编译语言,如C#、Java或Go
  • 所用语言的自动测试框架
  • 应用程序数据访问
  • 应用业务逻辑
  • 数据库管理
  • 可扩展性
  • 高可用性
  • 安全问题、身份验证和授权
  • 软件体系结构
  • 数据转换
  • 备份方法和软件

注意,这两个职位,尽管可能在一个产品上工作,但都有一套非常独特的技能。

硬件定义

在网络计算中,前端可以指任何优化或保护网络流量的硬件。[4]它被称为应用程序前端硬件,因为它被放置在网络向外的前端或边界上。网络流量在进入网络之前通过前端硬件。

在处理器设计中,前端设计是硬件描述语言(如Verilog)对电路行为的初始描述,而后端设计则是将电路行为映射到芯片上的物理晶体管的过程

原文:https://en.wikipedia.org/wiki/Front_end_and_back_end

本文:

讨论:请加入知识星球或者微信圈子【首席架构师圈】

最后修改
星期四, 一月 5, 2023 - 21:56
Tags
 
Article