搬砖感觉的来源与前端的深度

搬砖感觉的来源

web技术对现实世界的抽象是从建立起所关心业务的数据模型开始,经由sql、服务端的增删改查和业务逻辑,提供各种http的接口,之后前端通过请求接口的数据,作转换和处理之后,渲染到写好的模版上,应用已经写好的样式,并且在对应的元素上绑定一些交互的事件来实现页面的交互。大多数web应用的业务流程都是这样。

作为一名前端开发,做的主要是请求数据、数据处理、渲染相关的模版和样式、交互逻辑。

现在很多前端都觉得自己是在搬砖,觉得工作没啥技术含量,一直在处理各种乱七八糟的问题,我觉得主要因为这两方面的问题:

1. 页面布局和兼容性处理

前端要实现ui的设计,要把设计稿原封不动的用代码来实现,除了写样式和dom结构花时间比较长外,经常在测试阶段ui还会提出很多细节的问题。还有,往往设计觉得比较好看的一个效果,前端实现起来比较复杂。加上各种兼容性的问题,比如小程序的导航条上面的刘海区漏出了地图等。很大一部分工作时间就被这些琐碎的问题占去了。有位朋友说过解决兼容性问题简直就是浪费生命,虽然说的有些偏激,但是确实这些兼容性问题太过hack,没啥规律和技术含量可言。

2. 请求的参数和响应数据的取值

前端实现业务流程少不了和后端的通信,http请求相关代码一般会占据应用代码量的很大一部分,而且很多bug也经常出在这里,比如少传了什么参数、什么参数类型传的不对、渲染时哪个字段取错了等。这些问题除了需要对业务的理解以外,也需要和后端更好的沟通。很多问题都是沟通的不够导致的。

前端的深度

页面布局的问题、http请求和数据处理相关的问题,很大一部分都是比较琐碎、繁杂却没多大技术含量的,但是很多bug都是出在这两方面,这也是前端经常觉得自己在打杂或者搬砖的原因。

但是前端还是有一些东西比较有难度的,比如一些复杂的交互效果的实现,需要一系列的计算来计算一些元素的位置;比如复杂的异步流程的处理,Rxjs处理的异步问题很多都比较复杂;比如前端模版的正则、预处理语言的AST的处理;比如工程化的各种工具等。

总结

前端需要请求服务端数据然后渲染,需要适配很多的终端,会和后端、设计、产品等打交道,处理的问题很多都比较繁杂琐碎但没有多大技术含量,所以经常觉得自己是在搬砖。这些琐碎问题主要集中在请求的参数和响应数据的取值、页面布局和兼容性处理两部分。但是前端还是有一些东西很有深度和技术含量的:复杂的交互效果、复杂的异步流程、正则和AST的处理、工程化的工具等,这些都是很有深入研究的价值的东西。所以,不要因为自己做的很多工作都是在搬砖而觉得前端就没多有深度,前端还是有很多值得去深入研究的东西的。

你可能感兴趣的:(搬砖感觉的来源与前端的深度)