
说起前端,我一般拿后端一起比较着来看。通俗地讲,前端干的工作是用户可以直接看得见的。而后端开发的工作主要在服务端,用户不太能直接看到,虽然前端开发和后端开发的工作有巨大的区别,但是他们的工作都是相辅相成的,都是为了更好的用户体验。
左边这张图是程序员画出来自娱自乐的,什么是前后端一目了然。
我们再来看真实案例:抖音的前端,就是我们广大用户的手机抖音APP客户端,每天刷刷刷;后端,我们普通用户并不关心,有很多很多系统来给前端提供支撑。
因此,前端是和用户体验相关,开发前端所见即所得,很有意思!
如上图,前端可以做网站。
网站分为PC端网站和移动端网站,首先 PC端网站,比如一个是京东的PC端官网、B站的PC端官网、知乎官网等等。传统的PC端网站,是前端的基本实现。此外还有移动端网站,手机端网站又称为 Mo站 或 M站,打开手机浏览器,输入地址 比如http://m.maoyan.com,就可以打开猫眼电影的手机端网站了,还有比如京东的M站,淘宝的M站等等。
前端可以做管理系统。
管理系统是做信息管理的重要平台,比如机票售卖后台管理系统,小程序的后台管理系统。管理系统一般是全屏页面,是大前端产品的另外一种重要的输出表现。
前端可以做APP。
这里说的APP指的是混合APP和原生APP,混合APP就是将H5的页面嵌入到原生APP里,比如大家都熟悉的微信公众号;原生APP这里指的是利用React Native 和 Flutter等大前端技术做的APP,比如携程旅行里面有很多React Native的应用,阿里的闲鱼客户端,就是纯粹使用Flutter技术来实现的。
前端可以做小程序。
小程序大家都用,小程序严格说属于混合APP,比如微信小程序依托微信,实现用完即走的便利性。
前端可以做大数据可视化。
大数据可视化可以应用大前端的技术实现,通过浏览器来把枯燥的数据转化为漂亮的图表,比如这个公安警情可视化系统。
前端可以做智能电视交互页面。
比如我们家里的智能电视交互页面。
大前端可以做桌面应用软件。
桌面应用软件指的是可以直接在电脑上安装使用的软件,使用Electron框架实现 ,严格说也是一种混合开发的技术,比如 VS Code 编程软件,比如音乐播放器等。
前端可以做网页游戏。
前端可以做工具和后端,因为有了Node.js 大前端可以做本地工具和后端开发了,比如基于Node.js的Webpack工具,比如基于Node.js的Serverless开发。
前端真的已经无所不能,有人机交互的地方就有前端!
在一个企业开发的项目中,整个产品开发流程会涉及很多部门。如下图:
其中前端开发,会涉及第三列的客户端开发(android, ios, 鸿蒙)、WebAPP、混合开发及后端开发的内容。
前端开发主要完成产品的用户界面展示和交互的实现。举个例子,我们看到的网站、APP、小程序、业务系统、甚至网页游戏的界面,都由前端来完成。
另外,在系统开发中,后端可以选择很多技术,比如JAVA,Node.js,GoLang,.NET,Python,PHP等,而前端只能选择 基于HTML,CSS和JavaScript的Web技术,如下图:
可以说,前端工程师是互联网时代软件产品研发中不可缺少的一种专业研发角色。
在企业里,一个前端开发工程师的地位非常重要,他就是一个粘合剂,上游要和产品沟通,下游要和后端及测试协作。
因此,一个前端工程师,具体工作会包含但不限于下面的工作:
(1) 参与需求评审
(2) 参与系统的交互设计
(3) 前端技术架构
(4) 前端的界面实现
(5) 项目工程化设计
(6) 与后端做接口对接和联调
(7) 配合测试保障项目质量
(8) 配合项目上线
(9) 配合产品采集运营数据
对于初中级前端工程师,会重点做 (4)、(6)、(7) 项工作,高级前端会涉及全部工作。
现在就帮你梳理企业前端招聘实习和初级前端工程师的技能要求,可以根据自己的情况参考下。
岗位薪资:
一般月薪在 5-10K,根据城市和公司不同,有浮动。
岗位职责:
(1) 协助开发公司核心业务系统。
一般是给其他成熟的前端开发打下手。
(2) 根据产品需求,承担部分方案设计和编码工作。
通常不会要求编写核心业务,代码架构都是现成的,做一些修修补补的工作。
基本要求:
头部公司(如百度、阿里、腾讯、字节、美团、滴滴等等)一般要求在校或应届生,要有扎实的计算机理论基础;中小公司一般很少招聘实习生,如果招聘,也是为了压低薪资。
能力要求:
(1) 技术要求,一般需要掌握 WEB 前端开发基础:JavaScript(含 ES6)、HTML、CSS
(2) 素质要求,比如积极乐观,认真负责,乐于协作;
(3) 实习时间要求:比如每周工作至少 3 天以上,能保证实习时间 3 个月以上。
【建议】在校生或者应届毕业生找实习岗位,是一个不错的选择,一方面有进大厂的机会,另一方面给自己一个锻炼的机会。如果你在其他行业有工作经验,想转行学前端,一般不找实习的工作。
贴一个真实的JD:
岗位薪资:
一般月薪在10K-15K,根据城市和公司不同,有浮动。
岗位职责:
项目开发:负责公司WEB软件产品/系统的前端开发。这条和初中级前端开发要求一致。
基本要求:
要求有 1 年以上工作经验,计算机相关专业更佳,本科更佳。只要给面试机会,这个条件不重要,毕竟老板需要的是能干活的前端开发人员。条件好,薪资可以要的高一点。
能力要求:
(1) 扎实的前端基础:JavaScript(含 ES6)、HTML、CSS
这个基础必须要扎实,需要系统的学习和动手实战。
(2) 熟悉前端框架:Vue/React/小程序框架
这个只要会1-2个即可,因为公司的项目一般都是采用成熟的框架开发,你不用懂框架原理,会使用就行。
(3) 掌握Webpack、babel、eslint、git等工程化工具
这些是必须掌握的前端开发工具。每个工作的内容不多,开始只学会使用就好,完全可以做项目。
(4) 熟练掌握 http 相关知识等
要求这个是因为前端需要和后端合作,懂得 http,是接口开发的基础
(5) 了解 Node.js
Node.js 本身内容很多,但是初学前端,或者到公司这是做一个普通前端开发的话,不需要掌握多深,会使用它搭建工程化环境即可。
(6) 软性要求:比如良好的工作态度以及团队沟通协作能力,学习能力强,有较强的责任心
这些是每个前端开发人员的基本素质。
【建议】给你做个减法:只要掌握了JavaScript(含 ES6)、HTML、CSS和 Vue(或React,或小程序),你就可以去应聘这个岗位了。
贴一个真实的JD:
岗位薪资:
一般月薪在15K-35K,根据城市和公司不同,有浮动。
岗位职责:
(1) 项目开发:负责公司WEB软件产品/系统的前端开发。这条和初中级前端开发要求一致。
(2) 架构搭建:参与前端工程体系建设,参与前端组件和架构的建设。这条要求较高,没有2-3年的前端工作经验,做不来。
(3) 产品设计:和业务产品一道思考升级产品功能和体验。这条需要有丰富的项目经验,要参与过各类项目的开发,了解各类业务需求。
基本要求:
要求有 3 年以上工作经验,计算机相关专业更佳,本科更佳。高级对于工作经验、项目经验有要求,除了头部企业外,一般公司对基本硬件条件(学历,专业)没有硬性的要求。
能力要求:
(1) 熟练掌握 WEB 前端开发技术:JavaScript (含 ES6/Typescript )、HTML、CSS、DOM、协议、安全等
这部分基础要求的深度会比初中级前端开发要高一些。
(2) 框架和架构:掌握主流的Vue/React/小程序技术栈以及Webpack/Rollup等打包构建工具,有复杂的移动端Web架构的经验;
高级前端对框架、工程化、架构都有要求,要有丰富的实战经验。
(3) 后端要求:熟悉至少一门后端编程语言如 Node.js 等,有实践经验优先
一般要有后端开发经验,比如Node.js, Java或Go等。
贴一个真实的JD:
看到这,如果你是前端小白,对于技术名词可能有些懵,没有关系,混个脸熟就行。你只要知道你将来的奋斗方向就行了。
其实前端还有资深开发工程师、RN/Flutter/鸿蒙等原生APP开发、Node.js开发、前端Leader等职位,这些输入更高级的职位了。
如果你想掌握这些前端技能,可以参考我准备的这套前端教程,go...
祝大家都能掌握好前端技能,早日成为一名前端工程师!
