前端开发
后端技术
前端工程师
REST
前端入门

到底是前端根据后端来写还是后端根据前端来写呢?

我知道现在一般都是前后端分离啥的,后台传递数据过来,前端js直接调用就行了,但是会不会出现这种情况,比如一个列表你前端如果是固定了的,里面有一列是要调…
关注者
200
被浏览
101,922

26 个回答

谢邀。

定好前后端 API 文档,根据文档来写。

前后端之间传的是数据(Model),后端并不用关心前端显示的问题。

发布于 2016-09-07 16:43

假装谢邀~

看题主经历应该只做过测试,没有接触到前端开发和其他工种的协同。

题主所想的流程大概是:

但是实际上的流程大概是:

其实前后端基于原型图(或者产品文档)确定接口,同时设计师按照原型图进行设计,之后后端基于接口文档开发数据接口,前端基于设计稿接口文档做出页面。

题主提到的文字太长,或者列表没有信息的时候,或者用户没有头像之类的情况,首先应该在产品文档中提到,是不是需要特殊处理,比如用户名不能过长,每个用户需要默认头像

如果产品忘记做了,那么这个问题一般会在测试的时候作为BUG打回来。这时候产品经理提出新的需求排期,安排设计来做新的样式,再由前端实现。

发布于 2016-09-07 18:05

任何事情都有理想的情况和实际情况之分。

理想情况:

在需求分析结束后,三组人并行工作:

  1. 架构师或至少是同时具有前后端开发经验的人来定义RESTful API。
  2. 前端根据需求搭建用户界面,不断确认需求的具体细节。
  3. 后端的核心工作是设计表结构,也就是Schema,DDD的核心是Domain。

前端不需要等待后断实现API之后再调用,而是自己Mock API,自己测试。

后端可以先生成Dummy的API实现。然后再弥补Dumy API和Schema中间的服务层业务逻辑。

定义API不是一次性完成的,而是要根据情况及时调整。早调整对开发影响小,后调整影响大。只是经验越丰富的人,后期修改越少,早期就能定型的可能性大。

在开发中遇到一些问题,例如题主在问题描述中说的情况,都需要一方提出来,和定义API的那个人商量解决方案。是调整API,还是在自己一端解决。

实际情况:

一些开发不规范的公司,往往缺少有经验的架构师或前后端都熟悉的人,而且前后端力量不均衡。很可能是后端组力量强大,都是老人。前端组都是新人,没有话语权。

这种情况,往往是后端根据以前自己的经验提供API,甚至是不遵循REST风格。前端只能逆来顺受了。

编辑于 2019-03-10 20:17

根据文档来写

前后端先统一方案,统一定下API和文档,同步进行,两个互相只有数据的交流,数据也是在开发之前定好的。

发布于 2016-09-07 18:35

数据结构肯定要在动工之前,根据双方约定,写成API文档,尽量选择通用,高效的结构,要是像题主描述的这样,等开始写了你找我,我找你,那效率何必前后分离。

就算万一需求有变,通常也是由前端来改,因为首先后端的API接口,可能web前端,ios,安卓都在用,后端一变,大家都要跟着变,再者js执行性能通常都不是制约前端性能的主要因素,而后端性能通常更为重要,一些数据前端多处理下,并不会有什么问题,当然这也是要双方权衡协调的,可能后端改一行代码,前端可以少N个地方的调整。

像题主这种情况肯定是前端来解决,文字过多,只要不是涉及到隐私需要后端来截断。用css来调整或者用js来截取字符都是很简单的事,连这种事情都不做,那还要前端干嘛。

发布于 2016-09-08 17:36

我是前端,但我不认为这是个“前端or后端”的问题。前端具体指谁?后端具体又指谁?定义接口是他的本职工作吗,他是否为接口负责,接口有问题扣他工资吗?

甭管前端后端,不担责任凭什么说了算?

需要定接口的项目,我参与过两种,第一种是有专门的架构师或系分定接口,第二种是没有这个人。

有人专门定接口,那就好办了,都听他的,你可以不认同他的方法论,但是调整方法论是未来的事情,现阶段还是要听他的。他有问题那是他自己的事情,但是执行力有问题那就是开发团队的问题。

没有人定接口,那也要分两种情况,第一种是想管的,第二种是不想管的。

想管的项目,我会要求前端输出接口规范,模型结构由后端输出,前端参与评审,保留say no权力。谁也别跟我抢,谁不答应我跟谁撕,项目可以停工不做,反正业务延期主要背锅的人不是前端。

不想管的项目,随便吧,能沿用上个项目的规范最好,个别接口随开发人员自己沟通吧。反正有些项目,对前端来说,确实就是尽量不做,做了尽量不改,后续需求尽量不接……

编辑于 2019-05-05 12:43

你说的这种具体问题,和前后端分离,没有任何关系。

这完全是数据显示规则的问题。

数据太长超出限制怎么办?

1.截取前n个,后面用..表示。

2.加滚动条

3.其他


这只是前端如何显示数据的问题,和后端无关。

发布于 2019-05-05 13:10

根据前端的 UE 设计。

架构在映射业务需求时,核心是满足利益关系人的要求,而利益关系人操作系统、获取数据,都是通过前端。

所以,后端设计时,第一条是满足 UE 设计的需求,然后才是各种拆分、分层及满足安全、效率指标等的技术架构的设计。

吐槽一句,这不是很明显的吗?利益关系人增删改查不了自己想要增删改查的数据,那后端折腾个什么……

发布于 2019-03-03 22:08

很简单,查询类api,由前端定义接口,后端根据前端写。

增删改的写入api,则由后端定义,前端以后端的参数调用。

发布于 2021-07-27 22:23

我们这边前端直接提需求接口,后端实现,如果需求有改动,和后端说一声,尽量不打架,最高效完成功能就好

发布于 2019-02-26 23:59

一个人把前后端一块写了。

发布于 2016-09-07 17:01

根据需求来写,前后端平行

发布于 2016-09-09 12:15

Consumer Driving...

发布于 2016-09-07 16:46

前端少年负责把数据合理的展示,不好看的地方找交互视觉少年合计个办法,后端大爷才不管这个呢

发布于 2016-09-07 17:03

可能你忽略了2个重要的东西
设计图和接口文档
开发流程有了设计图和接口文档的参与,你说的问题就不存在了

发布于 2021-07-28 09:13