【译】类比餐厅桌前就餐来解释前端和后端

栏目: CSS · 发布时间: 7年前

内容简介:在开始学习web开发,你会遇到一系列使你迷迷糊糊的概念。数据库?服务器?客户端?服务端?AJAX?幸运的是,你只需要了解
【译】类比餐厅桌前就餐来解释前端和后端

如果你曾去过坐式餐厅,那么你就能理解web开发中前端和后端的区别。

在开始学习web开发,你会遇到一系列使你迷迷糊糊的概念。

数据库?服务器?客户端?服务端?AJAX?

幸运的是,你只需要了解 HTML和CSS 就可以去创建你的第一个站点了,它可以在你本地电脑上运行起来。但是,如果你想让你的站点能在线上运行起来,你需要了解下前端和后端的概念。

这里有个一般的想法:类比餐厅里面的服务员和厨房员工,前端和后端在你的站点上也是分工合作。在它们擅长的领域为站点服务。

对厨房员工来说,这意味着高效地制作出美味的食物。而服务员是与客户合作并创造良好客户体验方面的专家。

【译】类比餐厅桌前就餐来解释前端和后端

在web开发中,前端有时被称为客户端,而后端有时被称为服务端。

以下是不同技术在web应用程序的前端和后端中扮演的角色。为了能理解这篇教程,你需要掌握基本的 HTML和CSS 知识。

介绍前端

我们先来介绍下前端。前端代码创建 用户界面 ,这是web访问者与代码交互的组织方式。在我们的举例中,类似餐厅的餐桌,这是个提供顾客和服务员可控交流的地方。所以,想象一下,网站就好比餐桌,比如 http://mysite.com 网站。

【译】类比餐厅桌前就餐来解释前端和后端

首先,用户(客户)需要些可以浏览的东西。在设定的餐厅的场景里面,很明显,对应的就是菜单了。这是一段静态的内容,应该让客户更加容易理解他们的选择。

从一个前端开发者的视觉来看,这类似于 HTML和CSS 。这两种语言允许你创建静态内容。

【译】类比餐厅桌前就餐来解释前端和后端

很明显,我们缺失了一样东西。你不可能对这菜单大喊大叫,期待发生些什么事情。你需要一种方式将你的订单传达给厨房人员。

这时候,服务员就登场了。服务员能帮助你了解菜单,回答你提出的任何问题,然后将你的订单交给厨房人员。服务员是 互动方面 的专家,明白你的需求。这正是 Javascript 的用武之地了。

作为一个开发者, Javascript 将帮助你实现各种目标。它能够为用户带来更好的页面体验,帮助用户找到适合的信息。它也是一种能用来发送 用户请求 到后端的语言。换言之,当你写 Javascript ,它并不意味着你正在和后端发生了什么交互。(因为) Javascrip 只是前端的一部分,可以不用和后端交互就能解决很多问题。

【译】类比餐厅桌前就餐来解释前端和后端

通过上面选择膳食的过程,我总结了(HTML/CSS和Javascrip 或者 菜单和服务员)两方面。当用户访问你的站点时,他们是带有目的的。你的代码必须帮助他们来达成目标。

  1. 用户能够很快的浏览并知道提供了什么(HTML/CSS)
  2. 用户能够很快的找到更多的帮助他们下决心的资源(Interactivity/JavaScript)
  3. 用户能够采取措施去接近自己的目标(User Request/ JavaScript)

介绍后端

你是否进过餐厅的厨房?至少可以说,那是个高压的地方。它与客户看到的环境完全不同。你甚至可以说,服务员和菜单提供了发生在厨房的事件的友好、完美的呈现(场景),而厨房(对客户来说)并没有呈现什么制作过程。

这好比web应用程序中的后端,或者运行在服务端的代码。类似厨房, 服务器 位于与用户界面不同的位置。它是使用不同语言进行交流的。

【译】类比餐厅桌前就餐来解释前端和后端

由于服务器实际上是远程的 计算机 ,因此它比任何给定的计算机上面的浏览器具有更多的计算能力。就像厨房的员工,重点在于效率和生产力。

想象一下复杂的餐厅厨房。它必须在正确的时间和正确的位置将食材准备好。厨房的员工必须知道在特定的时间做他们的工作。他们必须重复地生产同等质量饭菜。相似的,服务器必须组织web应用程序中的数据,以便在适当的时候发送正确的内容。

【译】类比餐厅桌前就餐来解释前端和后端

服务器必须在接收到 请求 的时候,发送 响应

在餐厅的场景中,响应可能是下面几种:

  • 佳肴
  • 厨房对您要吃的饭制作材料已被用光的反馈
  • 服务员并未对问题的跟进

不管是什么,回应是通过服务员传达给客户的。在web中,那就是Javascript代码了。

比较流行的后端语言和框架包括 Ruby, Ruby on Rail, node.js, PHP 和其他。

为什么我们需要前端和后端

一个比较实际的原因是,我们必须在客户端和服务端运行不同的代码。全部的现代浏览器只能理解 HTML, CSS 和 JavaScript 。所以,这是我们不能在浏览器上使用服务端语言的一个简单原因。

另一个原因是,我们允许每边都专注在他们擅长的地方去迎接挑战。你能想象下,如果厨师去当服务员,那将给客户的用户体验带来多大灾难。所以,我们很幸运,我们有一方专门从事用户界面,另一方专门研究服务器方面的挑战。

纯前端网站

想象一下,你拥有一家不在网上销售任何东西的企业。假设你拥有一家当地的花店。

在那种情景下,你不需要后端,因为那场景不复杂。你只需要前端,也许是一个表格,可以将任何查询指向你的电子邮箱。

换言之,一些网站只是用于浏览和采取某种浏览器不需要处理的行为。你不需要为每个类型的网站编写后端。你可以使用 Github Pages 将你的纯前端网站放到网上。

后话

翻译原文 Front End v. Back End Explained by Waiting Tables At A Restaurant

文章首发 github - 【译】类比餐厅桌前就餐来解释前端和后端


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Linux Command Line

The Linux Command Line

William E. Shotts Jr. / No Starch Press, Incorporated / 2012-1-17 / USD 39.95

You've experienced the shiny, point-and-click surface of your Linux computer-now dive below and explore its depths with the power of the command line. The Linux Command Line takes you from your very ......一起来看看 《The Linux Command Line》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具