话说:程序员的江湖里,有一种神秘的鄙视链。。
写 C 的瞧不起写 Java 的,写 Java 的看不上写 PHP 的,而写后端的,总觉得前端不过是写写样式、调调颜色;
但真让他们换个岗位,才知道调调颜色这玩意儿也很上头~
来看看前端要学多少东西:
HTML、CSS、JavaScript 这老三样就不说了~
现在市场上框架一大堆,React、Vue、Angular,还有 Svelte 这些,学了这个那个又有新变化,总得跟着折腾~
构建工具像 Webpack、Vite,配置起来费脑子,Vite 虽然快,遇到问题也得慢慢找原因~
TypeScript 给 JS 加了类型,刚开始觉得麻烦,用久了倒也觉得能少踩些坑~
CSS 的 Flex、Grid 布局,响应式、动画,每一块都有不少细节,Tailwind 这种原子化 CSS,写的时候方便,类名多了也容易看晕~
看看这技术栈也不简单啊?
所以是简单还是难主要看坐的位置,是屁股决定脑袋,坐在哪个位置,其他的看起来都不太行~
看看这位网友说的,倒是很在理:
这些事,后端可能觉得这都是鸡毛蒜皮,但在前端这儿,全是得死磕的细节活,不然用户体验太拉垮,后期返工更麻烦~
后端的复杂度,都是用户看不见的后台:
做个破登录页,既要考虑点一下就反应,又要琢磨输入体验顺不顺手,做个首页更是把首屏速度、SEO、SSR 全堆一块儿,哪样都得整~
前端到底还是个能直观看见和体验的东西,谁都能来点评两句,所以说前端是最容易被外行指点的工种~
而后端很多人看不着无法感受,所以指点不了~
最后想说的:
其实程序员这行,哪哪都不容易~
前端卷新框架、新特性、抠细节,后端扛并发、写逻辑、填坑,谁不是在各自的领域里死磕?
这些东西没有界面、没有动画,平时根本没人注意到,但只要出一点岔子,不是接口报错就是数据错乱,严重的直接把整个应用一锅端。
所以,当前端在对齐像素、调 hover 动效的时候,后端可能正盯着 CPU 曲线发呆。
前端的世界,永远有新框架、新特性更新还快,Vue、React、Angular 一波接一波,一堆新框架新特性刚学会的写法,转头就过时~
(部分来自:https://www.zhihu.com/question/409197374/answer/3626435188)
我写前端的时候,觉得后端是彩笔,连个接口都搞不清楚。
我写后端的时候,觉得前端是彩笔,连个业务逻辑都不懂。
我自己前后端都干的时候,觉得产品是彩笔,连个需求都说不明白。
等我成了项目负责人,我发现大家都是沙雕。
前端的复杂度,更多还是在怎么让用户觉得顺眼又好用:
页面得交互流畅,用户操作起来要丝。
浏览器兼容得扛住,不能在某个版本里突然掉链子。
响应式设计,移动端要能自适应,不管用户拿的是大屏手机还是小平板,都得显示正常。
设计稿得精准还原,不然设计师能拿着放大镜来跟你对线。
还有 hover 效果、过渡动画、输入防抖这些小细节,每一个都得打磨好。
表面上用户就点个按钮、刷个页面,背地里得扛住高并发,高峰期用户挤爆服务器,系统也得稳如老狗,不能卡一下、崩一下。
负载均衡、CDN 缓存得配明白,不然流量一来直接扛不住。
还有文件同步、分布式锁、数据库事务、存储过程、加密处理这些玩意儿,看着没啥花里胡哨的,实则每一个都是踩坑重灾区,随便一个细节没搞定,就能让人连着熬两夜排查问题。
后端看似只写接口,其实肩上扛着整个系统的逻辑命脉,要设计好数据库表结构、索引、事务、缓存、限流,还得考虑分布式、微服务、消息队列、链路追踪……