从行业上来讲,前端已经经历了几年的发展,技术栈已初步成型,具体表现为h5,css3基本上已经被现代浏览器兼容,es6语法也得到广泛应该。但是,前端还远没达到“成熟”状态,具体表现为:
一是前端技术层出不穷。举例来说,当尤大大发布vue3.0线路时,留言板上很多程序员表示“学不动了”,“求不要再更新了”,基于框架或者模块化的技术还有react,ssr,webpack等都在快速迭代。另外微信小程序从2017年底至今也有席卷市场之势,不学是不可能的,最近又上线了“云开发”功能。
二是前端定位还没真正定型。前端不就是web前端吗,有什么定位问题呢?我们可以回顾下几年前的前端在整个工作流程中的职责范围,再对比下现在前端的工作范围,是不是有了非常大的变化?可以说现在也仍然在变化中,对于即将面向市场选拔的前端程序员其实也是有很多方向可以选择的,例如H5游戏方法,web方向等。假如你决定投身到H5游戏领域,那就要涉及到canvas,引擎以及优化算法,甚至3D的基础理论知识都要掌握。假如你走web方向,现在市场越来越中意前端向“中端”发展的程序员。
三是前端市场人才梯队还没达到最优配置。市场至少广州市场对新手的包容度还是挺高的,但同时也说明具有中等水平的程序员仍然也有一个巨大的空缺,市场急需近期入坑的前端程序员成长起来。
那么前端新人要如何更好的hold住工作呢?
1. 不想说,但忍不住要说的是,如果你连常用布局都还搞不定,就有点坑了。另外,对css的学习也是无止境的,例如最近做项目用到border-image,在全屏幕填充一个边框(四个角以及边线不随屏幕等比例变大)时非常好用,还有flex,calc等新特性要及时补上。
2. ES6语法,现在入行的前端程序员可能或多或少都接触到了es6,但如果你已经入职了,一定要利用业余时间将es6所有的新语法认真看一遍,中间有个别不懂的没关系。当你感受到了新语法的美之后,你会自然会想学下TypeScript,TypeScript近期的热度上升,甚至很多框架引擎使用ts不是没有原因的。
3. Vue,react至少要熟悉一种框架,这里是要熟悉。首先先不要陷入vue还是react好之争,现在会哪个就先重点搞定一个,如果MVVM类型框架都不会,或者没听说过,好吧,你需要先出门左转。对于新人来说,很大概率是会框架,但不熟悉,所以这里建议多看公司大佬们写好的代码,保证你可以获取到很多新奇的思路。另外,手册还是需要时常回顾下,温故知新。
4. git/svn,gulp,webpack这些工具,要多用。工具之所以称之为工具,是帮助你提高野生开发效率的,一定要用起来。其中webpack比较变态,如何使用这个工具本身就是一个很大的课题,他可以很基础也可以很复杂,那学到什么程度呢?建议新入行程序员保持“够用就行”的态度,没必要在入行初期就挖掘webpack的强大功能,当你vue路由都还不熟悉时就想着如何配置实现ssr,只能说你有点作!另外,我个人也非常期待业界大佬能出一款全新打包工具来颠覆webpack。
5. 服务端相关知识要初步了解。这里我们再次提下前端在项目流程中“定位“的问题,目前一个非常有趋势性的方向是向“中端”靠拢。这里主要体现在用nodejs作为”中间件“,来实现转换数据,合并接口,解决跨域问题,服务端渲染等功能。10月21日我们去腾讯参观学习,他们这些一线大厂就是这么做的,后台用java或者c来开发保证稳定性与安全性,前端利用nodejs对数据做二次处理,然后再输出到页面,所以前端程序员接触到服务器部署,甚至运维都是有极大概率的。就算公司项目体量比较小,但至少会用到前后端的通讯吧,学一些服务端知识不至于在出错时两眼一抹黑。另外,入行新手也要尽快了解如何在wdcp上新建站点,ftp如何上传文件到服务器,url,ip,dns等名词到底是指代什么。
最后
知识点上其实还有很多东西没有提到,但这几点是前端行业各方相对共通的点,另外也是因为我不想写了,哈。最后想说的一点是心态问题,对于刚入行的程序员会经历一段困难时期(各种不会不熟悉),这是非常正常的,千万要接收它。入职初期没有经历过通宵加班做项目,你的职业生涯不完整。最最最后一句:不要频繁跳槽!