上QQ阅读APP看书,第一时间看更新
1.3 为什么要成为大前端技术人员
在我们平时工作中有很多地方都需要大前端技术人员。举一个简单的例子,有一些前端和移动端的边界不太清楚且工作量又不是很多的工作,找谁处理呢?如果团队中既有前端工程师又有移动端工程师,那还好。但是只有前端工程师或者移动端工程师怎么办?我们总不能为了这一个小的技术需求就招聘一个专业人员吧。这势必让团队领导为难。
我认为上面所说的需要大前端的理由只是其中一点,还有一点是在开发中经常会涉及各种各样的技术方案,这些技术方案如果基于单一端的经验就会少了非常多的可能性。其实这对于项目架构层面是非常严重的损失,甚至有时候会直接导致一个方案流产。
我还是拿一个真实案例来进行说明。我在之前工作的一家公司做移动端的监控,其中有一个需求是在监控App中嵌入H5的Ajax数据。做监控的移动端工程师冥思苦想也没找到办法,因为翻遍移动端API也没有找到监控WebView数据请求的API。
后来他们找到了我,我当初给的方案是,移动端向前端注入一段JavaScript代码,这段代码会绑定WebView默认的XMLHttpRequest对象,然后获取H5页面中的接口返回数据,最后通过调用移动端挂载到WebView中window上的原生函数,把返回结果传递给原生App就可以了,具体方案如图1-1所示。
图1-1 拦截H5请求的App上报方案
从图1-1中可以看到,方案本身并不复杂,仅仅需要一点想象力,还要同时具备前端和移动端的知识。而平时工作中由于不知道大前端的相关知识,估计都不清楚自己错过了多少优秀方案。这也是为什么要成为大前端工程师的另一个原因。