近几年,大前端一直是行业热点。相较于单一端工程师,大前端工程师具有更大的职业广度。本文将带领读者快速了解大前端的生态、人才需求,帮助读者从整体掌握行业需求与个人发展路线。
1.大前端能做什么
有人把前端+移动端称为大前端,也有人把前端+服务端称为大前端,或者把“前端+移动端+后端”称为大前端,后来又出现了全栈工程师的概念,以及所谓的泛前端概念。我们不争论具体哪个概念或者定义是正确的,只需要确认文中所描述的大前端的含义是前端+移动端即可。
前端工程师是开发浏览器中的应用的工程师。这些应用包括电脑上的浏览器中的应用、手机上的浏览器中的应用、车载设备上的浏览器中的应用或者其他设备上的类似浏览器中的应用,使用的编程工具大多为JavaScript、HTML、CSS等。React、Angular等仅仅是为了提升前端工程师开发效率而发明的框架,理论上前端工程师还是在使用JavaScript这门语言进行开发工作。
移动端工程师是指为iOS系统、Android系统或者其他移动终端系统开发应用的程序员。他们使用的主要编程语言是Objective-C、Java或者Swift,主要是进行手机端、Pad端或者智能设备(电视、冰箱、门锁等)端的原生App的开发。
“大前端”就是指直接面向客户的应用或者系统,比如网页、手机App、Pad、桌面客户端的组合。大前端工程师就是能够开发其中两种或者两种以上系统应用的工程师。
2.前端和移动端工程师的另一条路
我之前作为一名前端工程师,在成长之路上也有很多的困惑,尤其在工作了5~8年之后,相信很多前端工程师都有这种困惑。有的前端工程师已经成为某个前端领域的专家或转向管理方向,但是大部分前端工程师还是找不到方向,又没有办法在技术上更进一步,只能被迫转行。因为超过一定年龄不再从事一线研发任务是一些公司的招聘法则。大多数前端工程师不是幸运儿,当前端工程师无法在技术深度上进一步成长,则获得职业广度上的成长就变成了另一条重要的成长道路,虽然这条路看起来也并不好走。
其实“端”上的技术学习有很多相似之处,尤其是前端和移动端的技术有非常多的共同点。比如:前端和移动端都有用户操作事件;移动端有用户展示界面和各种标签,而前端也有这些东西;前端工程师和移动端工程师的数据来源都是从后端工程师提供的接口获取的,有的公司里甚至前端和移动端工程师所使用的数据接口都是同一个。所以,前端、移动端工程师去学习对方知识会相对容易很多,因为前端和移动端大部分的知识点是类似的。
知识拓展:数据接口是指在开发过程中端上工程师所需要的数据获取途径。通常情况下,我们使用的大多数手机App和网站都会依赖从后台数据接口返回的数据来进行展示。
3.为什么要成为大前端技术人员
在我们平时工作中有很多地方都需要大前端技术人员。举一个简单的例子,有一些前端和移动端的边界不太清楚且工作量又不是很多的工作,找谁处理呢?如果团队中既有前端工程师又有移动端工程师,那还好。但是只有前端工程师或者移动端工程师怎么办?我们总不能为了这一个小的技术需求就招聘一个专业人员吧。这势必让团队领导为难。
我认为上面所说的需要大前端的理由只是其中一点,还有一点是在开发中经常会涉及各种各样的技术方案,这些技术方案如果基于单一端的经验就会少了非常多的可能性。其实这对于项目架构层面是非常严重的损失,甚至有时候会直接导致一个方案流产。
我还是拿一个真实案例来进行说明。我在之前工作的一家公司做移动端的监控,其中有一个需求是在监控App中嵌入H5的Ajax数据。做监控的移动端工程师冥思苦想也没找到办法,因为翻遍移动端API也没有找到监控WebView数据请求的API。
后来他们找到了我,我当初给的方案是,移动端向前端注入一段JavaScript代码,这段代码会绑定WebView默认的XMLHttpRequest对象,然后获取H5页面中的接口返回数据,最后通过调用移动端挂载到WebView中window上的原生函数,把返回结果传递给原生App就可以了,具体方案如图1所示。
图1 拦截H5请求的App上报方案
从图1中可以看到,方案本身并不复杂,仅仅需要一点想象力,还要同时具备前端和移动端的知识。而平时工作中由于不知道大前端的相关知识,估计都不清楚自己错过了多少优秀方案。这也是为什么要成为大前端工程师的另一个原因。
本文提纲挈领地介绍了大前端的含义、人才需求、价值。可以看出成为大前端工程师能够让前端或移动端工程师从更加全面的角度看待跨端问题,从而突破自我。那么,我们应该如何实现移动端与前端的互通之路呢?关于这部分内容不展开讲,如果您对此感兴趣,推荐您详细阅读陈辰老师的新作《小白实战大前端:移动端与前端的互通之路》。
直击跨端学习痛点,
对比式讲解前端和移动端方案,
让读者快速掌握异同并入门大前端。
作者:陈辰。前贝壳找房前端架构师,具有多年开发、架构经验,涉猎前端、移动端、后端等多个方向,熟悉性能监控、跨端应用。曾供职于百度、阿里巴巴、贝壳找房。热爱技术分享,工作之余在慕课网任教,开设了多门前端性能课程,学员近10万名。他是2019年GMTC(全球大前端技术大会)明星讲师、2019年GIAC(全球互联网架构大会)讲师、2019年ArchSummit(全球架构师峰会)讲师。
扫描上图二维码了解及购买本书
更多精彩回顾
书讯 |8月书讯(上) | 重磅新书来袭!书讯 |8月书讯(下) | 重磅新书来袭!资讯 |《Java核心技术》基于Java 17全面升级!干货 |再见了Java8,Java17:我要取代你干货 | 李三红:Java版本升级需要纳入到可持续性维度
干货 |市面上的大前端岗位到底是做什么的?