前几天从大学成功毕业,成为一只社会狗,努力搬砖,在这之间也发生了很多的故事,这篇文章也就聊一聊我的心路历程,也算是一个总结吧。
大前端是什么?对于大前端好像也没有一个具体的定义,每个人心中都会有一个自己对于大前端的认识和定义,我也就算是抛砖引玉,谈谈我自己现在的理解。
说到硬实力,那么就不能不说的是作为一个程序员,你的地基应该是计算机体系的理论知识,这决定了你的前端职业路的上限,其中包括数据结构、算法、网络以及软件工程等等。在大学的学习过程中,这些东西是都有涉及的,给各位可能还在大学的同学们一个忠告:不要在最该向下扎根的年纪,选择了去枝繁叶茂,大风一吹就知道华而不实。
其次就是作为前端工程师的三大基石技能 —— HTML/CSS/JavaScript,这三者决定了你在学习近几年层出不穷的前端框架时的能力。这三者的重要性自然就不需要多说,大家都懂。其实对于我来说,HTML、CSS 自己做的也不好,对这两者的关注度远不如 JS,后半年的计划里会对这部分做一个梳理、查缺补漏,不求精通,但求眼熟。地基是十分重要的,不管以后你走再高,地基不扎实,大厦崩塌也可能就是分分钟的事情(有点夸张,但是希望有些重应用的同学能想想自己基础扎不扎实,如果你想在技术这条线走下去的话)。
我也不知道这个算不算是硬实力,但是对于前端工程师来说,重要程度不言而喻。这就是用户体验,用户体验是一个不怎么好描述的东西,大家可能都对它有自己的认识,我认为适配、处理网页卡顿、白屏等等都属于用户体验的范畴。
谈到工程化就不扯那些大标准、官话了,就谈谈自己的理解。工程化的最终目的是啥,很明显,我们需要提高工作效率,以适应这个快节奏的时代。那么我们需要去解决什么问题呢?
- 处理浏览器兼容问题(ES 规范、CSS Hack)
- 静态文件处理
- 代码压缩合并
- CSS 可编程能力弱
- 部署困难
- …...
这些问题我们在没有工程化之前都需要去动用各种工具去处理这些问题,效率低下。