阅读 3560

来自做前端一年多之后的思考

前言

最近我一直在考虑到底什么是前端,到底什么才叫前端工程师,前端的主要职责是什么,一直迷茫了大概有那么几个月的时间

什么是前端

  • 每天做点简单重复的业务?
  • 写点组件?写点脚手架?
  • 搭个架构?
  • 画个页面?
  • 大前端?

从本质上来讲,这都是技术方面的问题,而前端的技术层次内容,单单从前端出发,真的就只有这么些内容可以做了,毕竟前端真的如果仔细想想就是展示层的东西

  1. 极致的优化
  2. 针对不同的业务写不同的内容
  3. 开发底层的框架以及组件

仅仅只涉及到了对于用户层次的体验感,但是单从优化而言,前端的所谓的优化真的只是前端的事情吗?

  • 调用一个接口,需要后端处理接口速度,前端无法由自己完全的掌控整个命脉
  • 外部资源采用CDN,这是运维需要搭建的问题
  • spa页面空白时间?这个可以说是前端的内容,但是真的是吗?现在比较常用的SSR那也是后端进行前端内容的渲染,虽然说nodejs可以归为前端内容?

以及各种其他的优化等等,难道真的就不依赖于后端了吗?

还有一件比较伤人的事情就是

前端做的再好,难道真的能够决定商业价值吗?没有前端,可以使用老式的jquery或者服务端框架直接渲染的前端页面,但是没有后端,那就没有整个产品

单纯从前端的角度而言,他真的就只有那么些东西,他的最终目的就是展示,前端技术的最终目的就是优化,所以没有前端最多就是没有优化,而不是没有整个产品

我知道这话听着比较难受,但是这个确实是一个事实,这也是整个前端在it圈里面其实并没有那么被看中的原因所在,因为他其实在很多情况下,针对2B,2C的产品而言,并不是那么重要,京东跟淘宝比起来,淘宝明显是更加的有细节,但是京东的用户量少吗?京东靠着自己的快递优势能够跟淘宝鼎足而立,这个也能从侧面反映出来,前端其实真的并没有那么被看中

谈谈node

有人说,前端人员必须要学会node,为什么会有这种说法?

追根究底node在前端的发展上面起了一个很大的作用,因为有了node所以才会有前端的繁荣

仔细想想,node真的还属于前端吗?他需要去接触数据库,去接触分布式,去接触各种原先后端需要接触的内容,从本质上而言是前端的js语言去侵入到后端,node并不是一个标准性的前端语言,他只是能够让前端人员去进行纵向发展

所以,在我看来,node其实已经不能够算是前端工程师的领域了,他是属于后端的,即使我们很多时候用node用的最多是前端工程师而且就那么几件事情:

  1. 开启本地服务
  2. node中间件
  3. ssr渲染
  4. 前端开发工具

以上内容中,除了ssr渲染以及node中间件以外,其他两个都是跑在开发过程中的,而且你想,现在有能力让你做node中间件并且上线到生产环境的公司具体会有多少呢?更有甚者在前端转战到无线端的过程中,直接摒除了ssr,他们不需要seo,我说了这么多node的坏话肯定会有人反驳到java能做的事情node也能做,但是市场会告诉你,node虽然能够做到,却没有几个应该是真正的使用node做后端服务的

谈谈可视化

可视化算是唯一一个真正的前端的领域,他对于后端的要求就是提供数据

无可厚非的说如果你能够在可视化的这条道路一直走下去,那么你可能不能成为一个前端工程师但是你却能够走出另一条路,当然我这边说的可视化不是指那些调用D3之类库的内容,我说的可视化包含:

  1. 3D领域
  2. 动画领域
  3. 图表
  4. 绘图

他需要很深的数学功底以及计算机基础,所以换成一个正常的非数学系科班出身的人去处理这方面的内容会有很深的隔阂,因为你学习这些理论是很耗费时间的,并且不一定能够学习到对应的知识

谈谈人工智能

最近前端的人工智能化特别的流行,可以这么说人工智能势不可挡

虽然我们讲前端的人工智能化,但是人工智能化真的是前端做的事情吗?

类似阿里的imgcook,他真的是一个由前端去主导生成的系统吗?可以很负责的说,在一开始这个项目起来的时候,阿里的团队中前端人员大概只有那么几个人,不会特别多的,毕竟从头到尾看下来,这个系统最重要的内容是图像的识别,前端能够在这个上面参上一脚吗?

所以我的思考而言,一直讲的前端人工智能,他的前端指的是从事页面开发的工作人员,未来这一部分人有很大概率被淘汰掉,完完全全用更智能化的更高效的人工智能去代替生产

前端的未来

前面我讲了这么多,一直看着会觉得前端有种已经凉凉的感觉了,其实说实话,我现在一直在后怕,因为我也是这些从事页面工作的人员之一,在即将来临的这个人工智能的浪潮中如何坚强的存活下去,也是我这几个月最迷茫的事情了

这里我也只能概述一下我的个人想法,每个人的想法不同,不能够完全跟我一样,可能在这个人工智能的浪潮里面,并不会有这么夸张的情况出现

继续精进

我为什么会说继续精进而不是继续精进前端呢?

因为我觉得单纯从前端的领域去考虑这个问题,其实是无解的,因为前端真的就是一个展示层的问题,如果人工智能将我们的展示都给解决了,那么前端在这里面的作用真的是微乎其微,虽然说人工智能的发展不一定会这么快,但是这个谁又说的好呢,他总会慢慢的去淘汰一批人,就像清水煮青蛙,你还在水里游的话,迟早会熟,要想活下去只能从水中跳出来

  1. 去深入的学习node,我前面说node就是做这么点事情的,其实说法有点片面,是市场上的node大多数是用在这几个方面,在学习node的过程中,肯定会碰到更多的后端的知识,其实就是要去更深入的学习全栈内容
  2. 前端的基础必须扎实,即使我说有部分前端可能会被淘汰,但是不可否认的事情是,我们现在做的还是前端,老本行必须保持住,才能稳定的面对更大的冲击,毕竟还有一部分前端是不可替代的,当然可能到时候前端就不在是前端了
  3. 计算机基础必须要很深刻的理解,我们要把自己从前端这个简单的领域里面抽离到更广阔的领域里,计算机基础绝对少不了
  4. 有机会要去学习数学,我的个人感觉,在未来3D方面的内容绝对会大放异彩
  5. 前端在算法层面上一直都是比较薄弱的,但是我觉得不管在什么方面上,算法绝对算的上基础

转行

说实话,这个是一个最难的决定,因为转行代表着你之前的学习你之前的努力都是白费了,但是如果你有勇气有决心,在这个上面依然也可以实现一定的价值,至少在一定的情况下,你不会这么容易被淘汰

当然,我说的转行,并不是说从程序员直接变成了销售或者说其他跟我们互联网关联性不大的职业,因为我们有互联网的基因,在互联网的这个圈子里面,会有一定的基础,完全的转行那是不可取的,除非你有非常大的把握

其实我一直觉得前端转产品会存在一定的优势,因为我们做前端的人会更加考虑产品的性能以及前端是最直接跟用户接触的一群人

创业

这个我想,我不需要说明吧?他是所有人的梦想吧?每个人都有一个英雄梦?

结尾

这些只是我的个人看法,我存在着自己的担忧,我不希望会这个浪潮下被打的体无完肤,同时也希望能够跟广大前端同学一起为未来而去坚持努力

关注下面的标签,发现更多相似文章
评论