这篇文章主要面向将来想从事前端工作的人儿。如果你正好想了解这方面的内容,那么这篇文章很适合你。本文主要从五个方面论述这个主题,即前端的一般理解,学习前端到底难不难,前端负责干什么,需要学习什么技术,和前端的未来(前端的未来这部分纯个人见解)。
什么是前端?
前端工程师,是距离用户最近的工种,维基百科对前端工程师的定义如下:
Front-end web development is the development of the graphical user interface of a website, through the use of HTML, CSS, and JavaScript, so that users can view and interact with that website
上边有几个关键点:
the graphical user interface of a website 一个网站的用户界面
HTML, CSS, and JavaScript 这是前端的三大基本件

html,css,js
也就是说所谓前端就是通过HTML, CSS, and JavaScript的组合,构建出网站的界面,从而使得用户可以与这个网站进行交互。 所谓交互就是指按钮的点击,表单的提交,输入框输入文字等等你现在可以进行的一切可视化操作,还有你看不到的’交互‘比如通过ajax将数据发送到服务端等等。
前端到底难不难?
前端入门极其简单,简单到你只要有个chrome浏览器,用个txt编辑器就可以进行前端的入门学习,比方你现在就可以打开你的浏览器然后摁F12,在命令行输入以下代码:
console.log('hello, world')
就能完成你的第一行代码的输入(ps: 基本每一门语言的入门都会让你打印个hello world,)。
再加上前端本身的特点:所见即所得,因为我们是做用户界面的,所以你敲的代码能很快变成具体的形状显示到浏览器上,这是一种编程新手初期会觉得很舒服的事情,如果再用CSS或者JS(即前文所说的JavaScript),加上动画效果,那这种感觉还会放大。
但是前端从中级跨越到高级这个层级会有点难度,对于现在的前端工程师而言,框架,开发工具周边,乃至JS语言本身,一天一个新花样,因此需要有很强的学习能力和接受变化的心态。
同时一个好的前端工程师要学习很多方面的知识,前端自身的语言和前端基础设施,安全,性能,简单的后端知识,乃至进阶的图形知识都需要学,所以学习的东西会很多:

前端技能
以上只是部分前端技能树图,关于学习的技能这个在第三个章节会详细讲到。
对具体工作而言,大多数的前端界面,比如一个to B的商务管理后台这种类型的网站,一般不会有太多复杂的交互,大多数人都能干得了。而在面向特殊领域诸如搞在线文档,3D开发之类的工作,那就比较有难度了。
最后对于难不难这个问题,一定要结合自身出发,大多数前端开发工作所需要的知识储备不会超过大学本科。然后还要看看现阶段社会对一个岗位的需求量是多大,量越大,意味着更少的竞争比,也更容易找着工作。 前端离计算机底层比较远了,因此计算机科学相关的出身是一个加分项,而且对于计算机学科出身的人来说,上手JS会更容易,但是对于非科班出身的人来说,用JS入门编程可能不是一个好的选择,这方面如过真要学习,建议从JS权威指南看起,基础部分一定要踏踏实实过一遍。
前端的职责是什么?
一般性的前端工作就是从UI接过设计稿,然后还原页面到浏览器,然后做各种交互,与后端对接接口,写写单元测试,最后做完了交给测试测测就OK了。
前端需要学习什么?
- 首先基础三大件必不可少: javascript , CSS, HTML JS可以通过前边提到的权威指南入门,也推荐看MDN的文档学习 https://developer.mozilla.org/zh-CN/docs/Web
- 进阶就需要掌握一门框架了,比如React, vue, Angular. 至于这个要学哪个,就看哪个框架能让你更快找到工作咯,想学啥学啥。
- 然后掌握框架的时候,你就会遇到打包工具,比如webpack,vite,也会遇到node的一些列周边工程件,npm yarn等等
- 最好一定要注重性能,性能涵盖的范围很广 打包,项目的运行时优化,交互优化,加载优化等等
- 最好需要有http https 网络安全 等知识
前端的未来
这部分内容后续有计划在写。