前端现在有发展前途吗？
我稍微反驳一下两位匿名哥的看法,因为之前跟他们也有类似的想法,不过是很误导人.  误区1. 前端变化快,学个Vue3.0 Angular6.0就弯道超车了,岁数大就学不动了...  首先,为什么学个vue3.0 angular6.0这种东西就弯道超车了?也就是说工作了 n 年了还在框架的 api上纠结呢?框架每一次大升级,你前面的知识就清零了,就跟应届生一个起跑线了,这不是前端变化快,是你基础太差了啊,合着后端的 spring Django 不升级了? swift一年一个断崖升级, ios 程序员是不是要集体焦虑到抑郁了? Java 现在也一年两版, java 们也不活了?  工作了3年左右的前端同学,如果稍微业余时间多学一点知识,怎么会在框架 api 上纠结,应该尤雨溪出了他的3.0计划图之后就可以想并实践一下vue3.0的实现了,下图的 api 如果是你你会怎么实现?  归根到底框架的原理这么些年就没大的变化, api 变了又变,基本原理一直没变,甚至是在桌面时代的原理延续到了前端上,就算你学到 Angular16 vue13,如果永远停留在 api层面,当然被弯道超车是肯定的,因为你是 Angular6工程师, React16工程师, Vue2.5工程师,并不是一个前端工程师,甚至是一个软件工程师...因为学习的东西没有迁移能力,计算机基础太过薄弱.  计算机是一个十分吃功底和经验的行业,可是正是因为api 调用师的泛滥导致变成了一些人的青春饭,他们从后端 api 跑到移动端 api, 从移动端跑到前端 api, 最后成为 TensorFlow 调参工程师或者区块链Truffle工程师...,最后学不懂了,大喊这特么青春饭啊....  误区二:前端天花板低,不利于个人发展  误区三: 前端感觉没啥可学的了,学一门后端语言寻求突破...  很多同学觉得自己 vue 一把梭了业务,也没啥意思,感觉前端不过尔尔,看来还是后端更深奥,那么学一门什么后端语言好呢? 恕我直言,你学了后端也是 spring 一把梭,而且比你写 vue 梭得更彻底, idea+spring 有多梭,用过的都知道,你梭不梭不取决于语言和领域... 我们用 vue-cli 开启一个工程,你用的爽了,那是因为 vue-cli帮你做了项目初始化的脏活,那么这个命令行工具你能设计出来吗? 初始化的工程里,我们用 eslint 检测,prettier 美化,uglify-js压缩,那么背后的原理你懂吗? 我们用 webpack 打包,用它热更新,是怎么实现的?对于你而言.你天天在用的东西,是不是个黑盒? 你用一个拖拽组件或者日历组件直接引入就行,那么怎么设计出一个通用的组件呢? 你为什么觉得前端简单?99%最有难度的事情被1%的框架作者、类库作者给完成并开源了，你拿着他们的成果一把梭，不是你牛逼，是他们吊啊。。。毕竟你啥都不懂就能一把梭了，那可都是作者们的智慧。。。  大 Java 也是这样啊,我见很多写了几年 api 的 java说 java 没啥意思,想学人工智能... java 没意思,是 java 的开源库作者们吧有意思的事情替你做了啊...   我的观点,现在谈哪一端好不好,前途如何如何都是扯淡,今年冬招,之前大火的算法岗人满为患,不知道多少人竞争一个岗位,反而号称快死了的移动端一人难求,市场就是这样在动态变化中,所以打好基础是根本,因为到了最后都是程序员,而不是 xx 程序员.  最后,基础好,有专精1-2各领域(前端而言比如专精2/3D 渲染技术,框架设计,构建工具开发,组件库开发等等),有持续学习能力的人是有发展前途的...
我一直说，作为一个前端工程师，我们不能只考虑眼前的业务，我们的目标应该是Photoshop，是Office，是UE4。没有任何人有比前端，特别是JS前端有更多的机会了解到基于标签UI语言和基于像素的UI引擎的两个层面之间的关系，很少有人注意到为什么标签UI语言适合使用函数式编程，而基于像素构建UI的如游戏引擎却在大多数情况下不适合。同时JS近些年的发展更是整个编程语言发展史的缩影。JS的历史记录和借鉴了太多各个年代大牛们的思考和实践。JS程序员应该好好利用这个机会增加自己[多范式]开发的能力。没有人比既会FP又会OOP，还会命令式并且可以在合适的层面选择合适的范式的人对程序语言的本质有更深入的理解。 当然别的语言还是要学的，程序员起码要会一打语言把？这是最起码的要求，编程在内功上讲精通，在招式上要求的是拿来主义。作为程序员，首先要锻炼的是，随便拿一个语言给我我就能干活的能力。 最后，互联网程序员中井底之蛙的比例太多了。整个浏览器前端+互联网后端（不含云服务和人工智能）+客户端只不过是程序设计行业的一小部分。在互联网行业做一个全栈工程师应该最起码的要求，不要分什么前后端客户端，都学就是了。指望靠一个平台活一辈子是不可能的。当互联网程序员在争论前后端和客户端有没有前途，谁更有前途的时候，那些写操作系统，写浏览器，写游戏引擎，写语言的人正在不断创造更新的语言，更新的技术，正在努力淘汰你。一个用别人的技术，别人的平台的程序员，不好好努力学习，整天担心前途，难怪你没前途。