WEB前端是不是没有前景了?
保留所有版权,请引用而不是转载本文(原文地址 https://yeecode.top/blog/34/ )。
我最开始接触前端开发是在十年前,然后还带出了一个前端团队。
到现在,也一直关注前端的进展。
可即使这样,我也无法给出前景好坏的明确回答。也绝不能为了骗赞,乱答一个。
接下来我会从软件宏观发展和前端自身发展两个角度分析前端的前景。具体结论,还希望读者自行总结。
当然,我会在最后给出一些建议。
还要说明一下,本回答说的前端是指大前端,不仅仅包括Web前端,也包括客户端、H5、几近消亡的Flash等等。它们只是所处的硬件载体不同。并且按照趋势,他们将来也会被统一起来,例如,现在HTML已经可以在大多数载体上运行。
软件宏观发展
同许多行业一样,软件行业的发展也在经历一个从功能到体验的过程。
早期的软件编程主要指完成功能,至于表现形式则并不重要。在那个时代中,命令行是最常见的交互形式,简单、明确。当然,主要是简单。
甚至,在二十年前,网游还是文字版本的呢。
“你对对方发起了普通攻击,对方血量-5%!”
结果那时照样玩的很嗨!
渐渐地,核心需求被满足了,软件开始面向大众。对于大众而已,复杂的功能他们感受不到,漂亮的界面他们却可以感受到。于是软件便开始追求体验,这是前端才诞生,并开始发展。
早期的界面也是丑的可怜,以表达信息为主。
而后,早期的客户也被收割完毕。只有更好的体验才能吸引更多的用户,体验变得越来越重要,前端也变得越来越重要。
美观上。从文字到图片到视频。
载体上。从电脑到手机,甚至到手表。
用户在哪里,界面就出现在哪里。
于是渐渐地,功能倒没那么重要,前端带来的体验才最重要。说个大家都知道的例子:
<a href="javascript: alert("缓存清除成功!")" >清空缓存</a>
要啥功能啊,只要用户觉着爽就好了!
而这个趋势,会一直发展下去。其实,我们近些年常提的供给侧改革也是由于这样的原因产生的。即随着行业的发展,其相关需求基本被满足后,行业的重心会从功能转为体验。这个过程中,得用户者得未来。
从软件宏观发展分析,前端就是软件系统最贴近用户的部分。大有未来!
前端自身发展
在09年左右,我刚开始做前端时,常戏称自己是“切图工”。很大一部分工作就是在切图……然后更大的工作比重在调试配。
IE6\IE7\IE8\搜狗浏览器\360浏览器\傲游浏览器……那是一个浏览器遍地开花的时代。每个浏览器对标准的支持不同,适配起来难度极大。尤其是IE6,经历过的前端们应该还能回想起那时的痛苦。
但是要说前端的自身发展,还要从更早说起。在JavaScript诞生的年代,那时,前端语言都没有统一。
所以,前端的发展本可以用下面的图表示。
首先,实现规范的统一。这一点上,前端做的非常好,比后端好很多。
后端什么Restful、微服务之类,也都只是停留在概念层次,然后以尚不清晰的概念去指导后端发展。(你不信啊,随便拽几个后端的人出来,对这些概念,每个人都有每个人的理解,还特有理!)但是前段的主体可是W3C制定的准确的规范。
可见,W3C具有很强的掌控能力,也具有极佳的技术引导力。牛逼!
然后,就是框架的统一。本来,这一点可以在十年以内迅速完成,然后形成一套最为大众和成熟的框架。就像后端的Spring框架一样,慢慢地成为共识。
但是,还没来得及完成,就受到了硬件高速发展的冲击。成了下面的图。
PC端、手机浏览器、Android客户端、IOS客户端……众多的客户端瞬间袭来,也在各自的领域孕育了自己的框架。然后,任何一个框架,可能在某些领域表现的好,在某些领域表现的不好……框架的优劣变得难以比较,统一的过程也便被拉长。
当然,框架的统一过程也在进行中,例如,ActionScript不就消失了么(心痛,我第一个学的语言实际是ActionScript),JQuery不也渐渐远去了么。现在,Angular\Vue\React等等众多框架开始争斗中,当然,也渐渐有了优劣之分(我不做一家之言的判断,留给大家自己判断)。重点,这就是现在的形势。
然后,在经过足够长的时间。前端的框架还是会统一起来。用一套框架编写各个端的界面,这绝对是趋势。例如,Electron就很好啊。
等框架统一结束后,也会有新的客户端类型产生。但是那时的新客户端也会使用统一后的规范和框架进行编程,毕竟开发者在那里。
一个框架,一份代码,多端运行,自然不需要太多的前端开发者。因此,从前端自身发展分析,前端会渐渐实现统一。这个过程中,需要的从业者是减少的。
总结
汇总一下上面的两点:
- 从软件宏观发展分析,前端就是软件系统最贴近用户的部分。大有未来!
- 从前端自身发展分析,前端会渐渐实现统一。这个过程中,需要的从业者是减少的。
宏观和微观的结论是相悖的,所以,我不能给出确切的结论。接下来前端的从业者人数会怎样,会兴起还是衰落,很难说。
但是,我们现在处在框架争斗合并的过程中,可以得出几点建议:
- 前端开发一定要选好框架,站好队!如果有一天,你选择的框架失势了,那你掌握的技能毫无价值!而如果你选择的框架得势了,你将成为行业专家。这一点十分重要。因此,选框架时一定要根据当前开发活跃度(汇总国内外,别只看国内)、框架支持方实力、发展趋势、优势劣势等综合判断。再说一遍,非常重要。
- 善于学习新技术。如果你觉着你无法一下就选中未来的框架,那就多学。出现新的框架,多看看,多试试。
- 发现哪个框架有未来之后,深入学习!因为框架的大一统结束后,”一份代码多端运行”是必然。那会导致前端开发者需求的减少。深入学习,成为行业大牛不仅不会让你失业,还会让你大有前途。
最后,在前端框架迭起的现在。学习前端实属不易。
加油!
可以访问个人知乎阅读更多文章:易哥(https://www.zhihu.com/people/yeecode),欢迎关注。