产品经理懂点技术:什么是前后端,两者如何分工?

6 评论 20629 浏览 141 收藏 9 分钟

不懂技术的产品经理可能在遇上bug时都不知道去找谁,本文说明产品前后端如何划分,相关问题属于哪个“端”,适合初级产品人阅读。

产品汪在验自己产品时,经常遇上bug了,就去找测试小姐姐,测试小姐姐看了看,就说:“这个找后台的某某吧”,“这个找前端的某某吧”。

小汪就好奇了,那么多程序猿哥哥,他们的职责是怎么划分的呢?

产品经理眼里的“端”

在产品经理眼里,一般按业务的使用者对产品领域进行划分,例如淘宝的用户端、商家端,再例如滴滴的乘客端、司机端、运营后台;甚至会进一步细分,有网约车司机端、代价司机端等。

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

前后端:谁前?谁后?

在大部分公司里,一个程序员的工作,可能会覆盖很多个产品端。例如一位前端的同事,可能既要做用户端的H5,也要做商家端的网页,还要做平台运营后台的网页。一个后端的同事,工作也可能覆盖多个业务模块。

那他们的工作是怎么划分的呢?

简单来说,对于程序猿哥哥来说,前端就是负责“用户看得见”的内容,将UI稿转换成网页、APP、电脑软件等,同时实现所有交互事件,例如用户点击、滑动、拖动等操作。

前端又会根据实现的形式进行细分,常见的有:

1)移动端APP

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

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

另外,在移动端,大家经常能听到一个词,叫做“原生”。所谓原生就是使用系统指定的编程语言开发的软件,“非原生”,一般指套用一个网页浏览器,然后再在浏览器内用网页展示内容实现的软件。

2)PC端软件

例如我们常用的office系列软件Word、Excel、PowerPoint;电脑版的QQ、微信、QQ音乐;上网页用的Google Chrome浏览器、Firefox浏览器等,都是PC端的软件。PC端也因系统的差异,前端也会进一步的细分。

3)网页web

网页基于HTML(HyperText Markup Language,超文本标记性语言)实现,现在已经发展到了HTML5.0版本,也就是大家耳熟能详的H5。Web内容具有编程语言统一、与平台无关的特点,我们可以通过各种电脑网页浏览器、手机上的网页浏览器(UC、百度浏览器等),甚至内嵌了网页浏览器的微信、QQ、支付宝等等,实现网页的访问。

得益于网页内容编程语言统一的特点,网页前端程序员一般能做非常多的事情,例如开发电脑端网页、手机端网页、微信公众号H5等等。

4)小程序

一种新生的事物,某些软件当用户规模足够巨大时,就可以设定一套规范,然后让前端程序员们直接为这些软件,而不是不同的系统,开发“程序中的程序”。

这样的好处就是,用户不再需要手机上装各种各样的APP,一个软件里就能解决大部分事情。

现在主流的小程序,例如微信小程序、百度小程序、支付宝小程序等,都是基于HTML衍生发展出来的。开发过程与编写HTML网页相似,所以一些公司并没有专门的小程序前端,而是由网页web程序猿哥哥“被迫营业”同时从事小程序的开发。

目前很多公司推出的小程序,虽然都是基于HTML衍生出来的,但是各自衍生(魔改)方法不一样,所以具体编写时也有所差异。目前,市面上有一些小程序代码转换工具,例如写好一个微信小程序,用工具一转,就能生成一个百度小程序。

相对于“用户看得见”的前端,那用户“看不见”的部分,就是由后端负责了,后端程序猿哥哥要负责业务逻辑的实现、订单、用户资料等数据的增删改查。

一款产品的后端,一般只会用一种编程语言编写。一些功能特别丰富的产品可能会用一种编程语言作为核心,另外用1-2种语言实现一些这类语言擅长的模块,例如用Java做核心语言,但配套的数据平台用Python写之类的。

由于在同一款产品中,后端编程语言不像前端一样根据系统/设备不同各种开花。所以,后端程序猿哥哥就可以一个人负责多个业务模块的后端编写,甚至轮流负责不同模块的编写。

后端哥哥也是很辛苦的,因为他们需要去实现各种业务逻辑,订单流转、登录登出及权限管理、实现数据的存储导出、进行不同系统间的对接等等。

根据问题特征,回溯bug该找谁

介绍完了前端后端分工内容的区别,那么想区分一个bug到底归谁,那就容易些了。

如果是页面样式上的错位、缺了或多了啥字段或模块,某些按键或交互点了没反应,就优先找对应内容的前端。

相对比前端的bug,后端bug体现形式就比较丰富:

1)业务逻辑错误

例如创建订单计算金额错误、优惠券是否能用判断条件错误、订单审批流程错误等等。

2)点了之后报错

一个按钮不是点了没反应,而是点了就弹出一大堆英文的错误信息,这种情况下一般可以先找后端看看问题。

3)404、500错误

这种有明显数字代码的错误,先找后端就没错了。

这下子,小汪就明白了,原来前后端的程序猿哥哥们是这样分工的。

用户可见的界面、进行的交互操作就是前端负责,业务的逻辑、流程、数据的处理就是后端的职责。

 

本文由 @iCheer 原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自Unsplash,基于CC0协议。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 文中提到“前端是负责‘用户看到见’的内容”,个人决定描述的非常好理解。
    但是有些后台不是前后端分离做的,所有后台的页面可能会是后端开发直接写的,所有个人觉得应该增加一个补充说明“后台管理系统为前后端分离开发情况下”。

    来自北京 回复
  2. 满满的干货,还写的通俗易懂,点赞了👍

    回复
  3. 搜噶!

    回复
  4. asp.net datatable 还拼 sql….. 呵呵呵呵

    来自北京 回复
  5. 奈斯~真是需要的

    来自广东 回复
  6. 干货! 😉

    来自福建 回复