xiadd / blog

一些小玩意
http://www.xiadd.me
10 stars 1 forks source link

前端开发的中年危机 #16

Closed xiadd closed 6 years ago

xiadd commented 6 years ago

最近一年前端也在飞速发展着, 很多前端(比如我)感觉有时候就会莫名其妙的冒出各种不明觉厉的概念: redux刚看了一点, 突然不知道哪来的mobx, rxjs😂., 大家都在谈各种状态管理时间穿梭, 令我等菜鸟瑟瑟发抖. 我观察到的情况是大家都在学习框架学习源码. 前两年网上各种js黑魔法不复存在, 当然这是前端环境不断发展和各位大佬共同促进的结果. 但是我自己也有一点思考, 不一定对.就是一些记录而已.

业务和技术基础

大家都知道, 现在web端业务逻辑其实是往客户端迁移的. 前端不再像以前一样就是我这边提交一个表单(大部分情况, 当然以前也有很厉害的web app), 把数据给后端, 后端处理完渲染到页面前端来写写样式, 这样当然很简单了, 前端也是所谓的切图仔. 但是现在的spa, 其实不光是spa了, 后端更希望的是他把数据库字段直接给前端. 我这边处理好返回正确以及符合数据库结构的字段给后端, 直接完成crud. 也就是数据处理这一块是转移到前端的. 更懒一点的用graphql😂, 你前端用什么字段自己取吧. 我们都知道所谓数据驱动页面. 前端框架还是通过数据渲染出页面的, 所以对于这些数据的的处理也是重中之重了, 以上就是我理解的状态管理的基础.

在以往, 前端可能不一定有机会接触一个项目的整体结构, 就是对于业务流程不是那么熟悉, 这就导致很多人缺少一种对于项目的大局感. 其实如果面试过一些中小公司或者创业公司的同学应该知道, 很多时候他们不太会问太细的技术基础, 反而会一直问你们前后端的配合啊, 前端架构, 以及为什么采取这种架构. 这是关于项目经验部分的, 还有就是他们会涉及到一些你对于复杂业务逻辑的梳理能力. 比如一个表单联动. 你是如何梳理出各个不同状态的(我的意思是他们可能不太会问你怎么处理这些状态, 只要状态梳理出来了, 就算写面条代码这些逻辑写起来其实也很容易了).

我上面说这么些当然不是轻视技术基础, 我想表达的是其实诸位不如在写业务代码的时候清醒一点, 不要一直试, 前端的逻辑越来越复杂, 你这里以一直试耽误的不仅仅是自己的时间. 关于一直试, 我之前也是(大概是写css惯出的毛病). 但是这样对开发效率实在太伤了. 也就是在开发一个组件或者业务之前不妨先把各种可能情况列出来, 我写不来那么高端的代码, 条件少的我就我就if else 面条代码 多的就switch case. 递归我就拆分, 总有简单的处理方式. 时间充裕了再去思考怎么优化那些代码. 就是我代码可以写的低级但是一定要清晰, 注释一定要明确.

在已经工作的情况下, 把手头活做好才是排第一的. 而上面那些业务梳理和完成也将是我们作为前端的核心竞争力之一. 在这之后, 就是不断学习. 看源码, 学习新技术, side project, 共勉.

个人见解, 有谬误不吝指出

image