不懂技术的产品经理必知:产品前后端如何划分,遇上 bug 该找谁?

2024-08-02
来源:网络整理

不懂技术的产品经理遇到 Bug 时可能不知道找谁。本文讲解了如何划分产品的前后端,以及相关问题属于哪个“端”。适合初级产品人阅读。

产品经理在测试自己的产品的时候,经常遇到bug,就去找测试妹子,测试妹子看一眼就说“去找后端的吧”或者“去找前端的吧”。

小王很好奇,这么多程序员,他们的职责是怎么划分的呢?

产品经理眼中的“端”

在产品经理眼中,产品领域一般按照业务的用户来划分,比如淘宝有用户端和商家端,滴滴有乘客端、司机端、运营后台;甚至可能进一步细分为网约车司机端和价位司机端。

当然也可能按照业务模块来划分,比如物流系统、支付系统、订单系统等等。

前端和后端:谁在前端?谁在后端?

在大多数公司,一个程序员的工作可能覆盖多个产品端,比如前端同事可能要做用户端的H5,商户端的网页,平台运营后台的网页,后端同事也可能有覆盖多个业务模块的工作。

那么他们的工作是如何分工的?

简单来说,对于程序员来说,前端负责“用户可见”的内容,将UI草稿转换成网页、APP、计算机软件等,并实现所有的交互事件,比如用户的点击、滑动、拖拽等操作。

前端按照实现形式进一步细分,常见的有:

1)手机应用程序

根据手机系统不同,又细分为苹果iOS APP、谷歌(安卓)APP,甚至还有一些非常小众的手机系统APP,比如微软(简称WP)的APP。

不同手机系统上APP开发所需要的编程语言差别很大,开发环境也不同,所以一个APP前端程序员一般只开发一端,比如只负责安卓端,或者只负责苹果端。

另外,在移动端,我们经常听到一个词叫“原生”。所谓原生就是使用系统规定的编程语言开发的软件,而“非原生”一般是指使用网页浏览器,然后在浏览器中以网页形式展示内容的软件。

2)PC软件

比如我们常用的Word、、等软件;QQ、微信、QQ音乐的电脑版;浏览网页用的浏览器、网页浏览器等都是PC软件,由于PC系统的差异,前端会进一步细分。

3)网络

网页基于HTML(超文本标记语言),目前已经发展到.0版本,也就是我们熟悉的H5。网页内容具有编程语言统一、平台无关的特点,我们可以通过各种电脑浏览器、手机浏览器(UC、百度浏览器等),甚至内置浏览器的微信、QQ、支付宝等来访问网页。

得益于网页内容编程语言的统一,Web前端程序员一般可以做很多事情,比如开发电脑端网页,移动端网页,微信公众号H5等等。

4)小程序

小程序的前后端_微信小程序的前后端_微信小程序开发前后端的区别

一个新鲜事。当某些软件的用户规模足够大的时候,可以制定一套规范,然后前端程序员就可以直接为这些软件开发“程序中的程序”,而不用在不同的系统上开发。

这样做的好处是,用户不再需要在手机上安装各种应用程序,大多数事情只需要一个软件就能解决。

目前主流的小程序,比如微信小程序、百度小程序、支付宝小程序等都是由HTML衍生而来,开发流程和编写HTML网页类似,所以有些公司并没有专门的小程序前端,而是让网页程序员“被迫”工作,同时从事小程序开发。

目前很多公司推出的小程序,虽然都是由HTML衍生而来,但是衍生(魔法修改)方式不同,所以具体的写法也不同。目前市面上也有一些小程序代码转换工具,比如你写了一个微信小程序,就可以用工具转换生成百度小程序。

相对于“用户可见”的前端来说,“用户不可见”的部分就是后端的职责了,后端程序员负责业务逻辑的实现,订单、用户信息等数据的增删改查。

一个产品的后端通常只用一种编程语言编写,一些功能丰富的产品可能会用一种编程语言作为核心,用1-2种其他语言实现这种语言擅长的一些模块,比如用Java作为核心语言,但支撑的数据平台却是用编写的。

因为在同一个产品中,后端编程语言并不像前端那样根据系统/设备而变化。因此,后端程序员可以负责多个业务模块的后端编写,甚至可以轮流负责不同模块的编写。

后端人员也很难,因为他们需要实现各种业务逻辑、订单流、登录和注销以及权限管理、存储和导出数据、连接不同的系统等等。

根据问题特点,回溯bug需要联系谁?

现在我们介绍了前后端分工的区别,区分一个bug该由谁来负责就变得容易多了。

如果出现页面样式不对、缺少或者多余字段或模块、部分按钮或交互无响应等情况,优先查找对应内容的前端。

相对于前端bug来说,后端bug的表现形式更多一些:

1)业务逻辑错误

例如创建订单时计算金额的错误、判断优惠券是否可以使用的错误、订单审批流程的错误等等。

2)点击后报错

点击按钮没有反应,但点击后弹出一堆英文错误信息,这种情况一般可以先检查后端是否有问题。

3)404 和 500 错误

对于这种带有明显数字代码的错误,最好先查看后端。

现在小王明白了,这就是前后端程序员的分工。

用户可见的界面和交互操作由前端负责,业务逻辑、流程和数据处理则由后端负责。

分享