好好学习
天天向上

back是什么

刚接触编程的时候,总有人说“前端”、“后端”,前端还好理解,就是我们能看到的东西,比如网页、App的界面。但“后端”到底是个啥?听起来很神秘,感觉是些看不见摸不着的东西。

其实没那么复杂。

你可以把一个网站或App想象成一家餐厅。前端就是餐厅的大堂,有漂亮的装修、菜单、桌椅,负责接待你,让你点餐。你看到的一切,能点的、能按的,都属于前端。

而后端,就是这家餐厅的后厨。

你在前台点了一份宫保鸡丁,服务员(前端界面)把你的菜单传到后厨。后厨(后端)接到单子,就开始忙活了。厨师(服务器端的程序)会检查食材库(数据库)里还有没有鸡丁、花生和辣椒。如果食材够,厨师就按照菜谱(业务逻辑)开始炒菜。菜炒好了,后厨会通知服务员上菜。这个过程,你在大堂是完全看不到的,但你的宫保鸡丁就是这么来的。

所以,后端(Back-end)就是应用程序背后,负责处理数据、执行逻辑、和数据库打交道的部分。它干的都是用户看不见的活儿,但这些活儿决定了整个应用能不能正常运转。

后端具体都干些什么?

后厨的工作很杂,后端也一样。主要有三件大事:处理业务逻辑、管理数据和对外提供接口。

1. 处理业务逻辑 (Business Logic)

这可以说是后端最核心的工作。什么是业务逻辑?就是一套规则,规定了当某个条件发生时,程序应该做什么。

举个例子,你在一个电商网站上买东西。你看中一件T恤,点击“加入购物车”。这时候,前端会告诉后端:“喂,123号用户想把这件T恤加进购物车”。

后端收到这个消息后,就开始执行一连串的逻辑判断:

这个用户登录了吗?没登录就不能加。

这件T恤还有库存吗?要是没货了,就得告诉用户“已售罄”。

这个用户是不是第一次买?如果是,可能要给他一张新人优惠券。

这些判断和处理过程,就是业务逻辑。它决定了“谁在什么条件下可以做什么事,以及做了之后会发生什么”。这些规则都由后端代码来实现,前端只负责触发一个动作和展示结果。

再比如,你在社交App上发一条动态。你编辑好文字和图片,点击“发布”。前端把这些内容打包,发给后端。后端接到后,会检查你的内容有没有违禁词,处理图片尺寸,然后把这条动态存进数据库,并通知你好友们的客户端:“快来看,他发新动态了!”

这些复杂的流程,用户是无感的,但背后都是后端逻辑在精确地执行。

2. 存储和管理数据 (Data Management)

餐厅的后厨一定有巨大的冰箱和储藏室,用来存放各种食材。后端的“储藏室”就是数据库(Database)。

用户注册的账号密码、发布的文章、上传的照片、购物车的商品……所有这些信息,都需要一个安全、可靠的地方来存放。后端负责把这些数据整理好,分门别类地存进数据库里。

当需要用到这些数据时,比如你要查看自己的历史订单,后端就会去数据库里把属于你的订单信息全部找出来,然后整理好,再发给前端去展示。

后端不仅要存取数据,还要保证数据的安全和一致性。比如,两个人同时抢购最后一件商品,后端必须有一个机制确保只有一个人能成功下单,而另一个人会看到“已售罄”的提示。这个机制就是通过数据库的事务(Transaction)来保证的,确保数据不会出错。

常见的后端数据库有MySQL、PostgreSQL、MongoDB等。 MySQL和PostgreSQL是关系型数据库,就像Excel表格一样,结构很规整,适合存放用户信息、订单这类结构化数据。MongoDB是非关系型数据库,存取更灵活,适合存放文章、评论这类数据。

3. 提供接口 (API)

后厨做好了菜,总得有个窗口让服务员来取吧?这个窗口,在后端世界里就叫API(Application Programming Interface),也就是应用程序编程接口。

API就像是后端和前端之间的“服务员”或“菜单”,它定义了前端可以向后端请求什么,以及后端会返回什么。

比如,前端需要显示用户信息。它就会调用后端提供的一个用户信息的API,通常是一个特定的网址,比如 api.example.com/user/123

后端收到这个请求后,就知道前端是想要123号用户的信息。于是它就去数据库里查找,找到后把用户的名字、头像等信息打包成一个标准格式(通常是JSON格式),然后通过这个API返回给前端。

前端拿到这些数据后,再把它填充到网页的相应位置,你就看到了自己的个人资料页面。

通过API,前端和后端可以分开独立工作。只要API接口定好了,前端工程师就专心做界面,后端工程师就专心实现业务逻辑和数据管理。他们可以同时开发,互不干扰,最后通过API把各自的工作成果连接起来,组成一个完整的应用。 这种模式被称为“前后端分离”。

后端的“工具箱”:技术栈

想开一家餐厅,后厨得有锅碗瓢盆、炉灶烤箱。后端开发也需要一套工具,这套工具通常被称为“技术栈”(Tech Stack)。它主要包括三样东西:

  • 编程语言 (Programming Language):这是写后端逻辑的工具。 常见的后端语言有很多,比如Java、Python、PHP、Go、Node.js (JavaScript)。 它们各有特点。Java非常稳定,很多大公司的金融系统、大型企业软件都用它。Python语法简单,开发速度快,在数据科学和人工智能领域也很流行。Go是Google开发的语言,性能很好,适合处理高并发请求。
  • 框架 (Framework):框架就像是预制菜,帮你把很多基础工作都做好了,你只需要专注于实现核心的业务逻辑就行。比如,用Python可以选Django或Flask框架,用Java可以选Spring,用Node.js可以选Express。 它们帮你处理好了网络请求、数据库连接这些繁琐的事情,让开发更高效。
  • 数据库 (Database):前面提到了,就是存数据的地方,比如MySQL、MongoDB等。

一个典型的后端技术栈可能是“Python + Django + MySQL”,或者“Java + Spring + PostgreSQL”。选择哪个技术栈,通常取决于项目需求、团队成员的技术背景和开发成本。

后端不是一个人,而是一个团队

随着应用变得越来越复杂,后端的活儿也越来越多。一个大型网站的后端,可能由很多个不同的“微服务”(Microservices)组成。

比如,一个电商网站,它的后端可能被拆分成了用户服务、商品服务、订单服务、支付服务等等。每个服务都是一个独立的后端程序,有自己的数据库和API,由不同的小团队负责。

这样做的好处是,当订单服务出问题时,不会影响到用户服务和商品服务。每个服务都可以独立升级和维护,整个系统更灵活、更稳定。

所以,我们常说的“后端”,其实不单指某一个程序,而是支撑整个应用运行的、由服务器、数据库、缓存、消息队列等各种组件构成的复杂系统。而后端工程师,就是设计、建造和维护这个复杂系统的建筑师和工程师。

赞(0)
未经允许不得转载:七点爱学 » back是什么

评论 抢沙发

评论前必须登录!

立即登录   注册