注意:这是篇带有非常浓厚个人情绪的文章。

最近 React 的 Github 项目主页因为意识形态的原因被冲,已经成为了开年为数不多的技术新闻。祖国的前端圈子又一次以这样子的形态被国际环境所认知和理解,这不得不说是一次误解和灾难。

但其实我不奇怪和意外这个事情,因为本身这个事情从导向性上来说是非常可以理解的。

但同样作为技术人员,以我对于国内前端的圈层的认知来说,其实还是超出了我的预想和预期, 而且我非常相信,这已经不是第一次可能也不是最后一次。

我是非常反感意识形态和技术本身挂钩的,虽然「技术无国界」这句话在目前各个国家间的相互制裁和「卡脖子」看来非常的理想化,但我们自己还是需要部分的信仰去支撑自己的信念的。

Github 目前看起来其实还是是个相对比较纯净的社区,但偏偏国内前端这个圈子,就有很多上述类似无关技术的事情发生,让人再次叹息。

我们举例:今天有 React 被冲、往前看还有 Vue 是否是国产框架之争、再往前甚至还有流行框架作者删库跑路…所以,甚至有人戏言国内前端的环境是「前端娱乐圈」。

从技术角度上说,前端开发其实是相对门槛不高的研发岗位。从项目的侧重点上来说,如果说后端关注的是业务逻辑和数据流转,那么前端其实更加关注的是用户体验已经产品的展现形式。

同时前端的技术栈相对比较的多和杂,掌握这些都是需要时间和项目的经验沉淀,但刚开始的初学者因为环境的原因,加上方向上的体系认知还没完全成型,所以都不会非常的深入。

前端的沉淀速度同时往往还会赶不上迭代速度,随着业务和产品的迭代后端已经可能还忙于维护「屎山」,同期时候前端的项目代码因为产品本身已经开始考虑重构,这让很多前端项目往往不会也不关注本身的沉淀。

正是往往缺乏很多业务逻辑的沉淀,所以国内的技术负责人的岗位往往都不会是前端出身,这让前端的话语权更加的弱势,造成相对后端和其他岗位而言,前端的延展性明显没有其他岗位高。

所以,上述各方面的因素这往往会很容易让前端浮于表面的展现形式、以及技术本身迭代带来的快感之中。

其实以上的情况,从这几年的趋势看来也是越发的严重。国内互联网环境的发展,让分工更加明确和细致。

曾经开玩笑的说,以前的前端是把后端写了「顺便」就把页面给套了,而现在的前端是往往实现了以后还要等后端的接口才能跑起来。而后端如果正儿八经想上手前端项目,先不说各种前端类库的选型,光是 webpack 本身的配置就足够让他忙活一阵子了。

我个人从前端转后端那么多年,这种情况其实也完全没有大的转变。虽然目前的国内技术环境普遍的浮躁不堪,但现在看来国内的前端环境尤甚。

那么我们能做些什么呢?其实以下不觉得是个非常好的建议,我也没理由讲些大道理。作为技术人员本身,其实在我看来这些都是基本的素质。

第一条建议,就是关注技术前沿的本身,其实更应该结合实际的项目已经产品的情况,避免空谈技术很无法落地成为空中楼阁。

这在前端这个圈子里是非常普遍的现象:「哎,这个玩意很厉害我应该套用到目前的项目中,先不管适用不适用,但我至少用起来了。」

第二条:其实每个人每个职位都会有自己的瓶颈期,当发现自己对于某项 case 已经长期无法突破的时候,那么应该跳出自己的思维路径,去考虑其他的角度看到更多的维度。

我看很多前端会说自己什么什么框架,然后列举了一大堆。但是在我看来掌握框架本身其实是「外功」,真正的「内功」修行应该提升到和设计思路这个层次。

例如,举个例子很多 Angular 初学者不知道依赖注入的思想,但是如果你是后端 Spring 使用者,那么会非常容易熟悉和理解。设计思想这块前后端很多时候是相通的。

如果你不理解就不会包容,就容易陷入框架和工具本身的争执中,因为你只是熟悉自己熟悉的。

那么第三条,我们就可以引申出来:避免多余的争论。我在 V2EX 上往往会 看到很多针对同类型的类库、重复的轮子的技术争论。

这些其实这是很容易挑起争端、引起话题,但同时也是很容易没有结果 - 毕竟都在一定程度上解决了相通的问题。

最后一条:更不要将技术和意识形态挂钩。这条其实是最基本的,同时也是最最重要的。

在我看来技术本身就是技术,是为了解决和实现具体的问题以及需求存在的,所以事物的本身不应该有任何的倾向性。

最后,我所期待的前端他应该是链接冰冷的数据和业务逻辑、给到真实用户体验的枢纽和桥梁。

所谓的「前端娱乐圈」当然只是笑谈,我们作为前端当然也应该知道前端本身能力所赋予的意义,前端这个圈子也不应该沦为技术无关的争论甚至意识形态的战场。