web前后端
浏览器里敲下回车,后端页面刷出来的后端那一瞬间,背后其实站了两拨人。后端一拨管界面长什么样,后端叫前端;另一拨管数据从哪来、后端存哪儿去,后端叫后端。后端这两拨人经常互相看不顺眼,后端但谁也离不开谁。后端
我刚入行那年,后端带我的后端师傅扔给我一个接口文档,说“照着调就行”。后端我那时天真地以为,后端前端就是后端把按钮做得漂亮点,后端就是后端把数据吐出来。直到有一次,我调一个列表接口,后端返回的数据结构嵌套了四层,我为了拿到一个用户名,写了整整二十行遍历代码。那一刻我明白了,前后端的边界从来不是技术栈划分的,而是由“谁更懂业务”决定的。
真正的分水岭出现在2015年前后。那时候Node.js把JavaScript带到了服务器端,前端工程师突然能写后端代码了。于是有人开始喊“全栈”,好像前后端要合并了。可事实呢?我见过一个团队,前端用React写得风生水起,后端用Java扛着高并发,两边配合得挺好——因为他们没试图互相替代,而是把接口定义得清清楚楚。前端只管发请求拿数据,后端只管保证数据正确稳定。这种“各司其职”反而比“一个人全包”靠谱得多。
但这里有个反直觉的现象:越是小公司,越希望一个人干两人的活;越是大厂,分工反而越细。我有个朋友在创业公司,前端要写页面,还要自己搭个简易的Node层做中间层,因为后端资源不够。他说这叫“全栈救火队员”。可同样的工作,在字节跳动,光一个前端团队就分基建、组件、业务三层。你说哪种模式更好?我觉得得看场景。创业公司需要快速试错,一个人从头到尾搞通,沟通成本最低;大厂追求稳定和效率,专业分工才能扛住千万级流量。
前端的本质是“呈现”,后端的本质是“计算”。前端把用户的操作转成请求,后端把请求处理完再还回来。可这个过程中,最容易被忽略的是“网络延迟”。我做过一个优化,把前端首屏从3秒压到1秒,靠的是后端把接口从串行改成并行。那时候我才意识到,前端再会调样式,后端接口慢得像蜗牛,用户体验照样崩。反过来,后端把数据算得飞快,前端渲染卡成PPT,用户一样骂娘。
现在很多人讨论“低代码”会不会让前端失业,或者“云原生”是不是要替代后端。我的态度很直接:工具会变,但分工不会消失。低代码平台能拖拽出页面,可复杂业务逻辑还得写代码;云服务能托管数据库,可索引怎么建、缓存怎么失效,还得靠人判断。说到底,前后端不是两种技术,而是两种思维——一个关心人怎么用,一个关心数据怎么跑。只要这两个问题还存在,它们就会一直互相拉扯着往前走。
最后说个我自己的体验。有一次我熬夜改一个bug,前端说数据没传过来,后端说前端没调接口。两个人对着日志查了半天,最后发现是网络代理把请求拦了。那一刻我笑了——技术再牛,也敌不过环境配置的玄学。所以啊,别纠结你是前端的还是后端的,能解决问题才是真本事。
相关文章:
