最近在对过去的工作进行反思,又在掘金逛了一圈,反倒是发现大部分人对前端的理解和追求反倒是局限于各个技术方面了,私以为,作为一个前端,不仅仅需要技术水平,一些其他的能力也是必要的
偏技术的
讲道理,作为一个前端,工作其实不仅仅在于根据prd
,根据需求撸页面出来,其实还涵盖了很多方面
页面切图
当然如果不需要切图可以无视
一般来说,前端都是会根据UED
(视觉与交互)部门的设计师出的设计稿进行还原,在这基础之上,了解每个区块的间距,颜色等方面就很重要了,一般有几个方法。
手机端自适应
主流方案有两种,rem
和vw
方案,这两种都有对应的postcss
插件,具体可以看掘金上相关的文章
部署
大部分的前端页面都是纯静态页面,可以通过express
等反向代理工具提供,当然啦,oss
等静态存储库也可以提供网页服务,除此之外,作为前端,还可能碰到类似于
- 部署
nodejs
服务(ssr
服务等) - 反向代理配置
- 跨域问题
- OPTION请求
- 内存泄漏
等诸如此类的问题,当然啦,成熟的公司一般也会提供自己完整的devops
流,让整个部署发布流程简化为点点点,作为开发之要会git
命令就可以了
部署常用的工具为pm2
, nginx
,阿里的nodejs性能平台
监控和打点
部署完就需要监控和打点了
-
监控市面上流行的基本就是
sentry
,配置app后引入sentry
对应的js就可以了,之后sentry
会自动捕获浏览器错误,然后发送到服务端 -
如果配合上文所提的
nodejs性能平台
,就可以监控nodejs的健康情况,内存占用问题 -
当然cat也可以
-
打点的话,市面第三方用的比较多的应该还是神策吧,在对应的地方埋点,然后在事件里触发
sdk
提供的方法,来推送到服务器
打点相关的东西
想到了就补充一下吧
产品和运营基本都会看PV和UV,PV是单个页面的浏览量,UV是单个设备的浏览量,通过这两个指标可以看到单个页面的访问情况,和用户数量,同时根据ua等信息,可以分析出访问用户的一些基本信息,比如手机型号,系统版本,浏览器版本等等,这个直接影响了前端可以使用的api范围,这个就可以和caniuse上结合着一起用啦,毕竟postcss和babel也不是万能的嘛
嗯,当然打点不仅仅是pv和uv,经常要埋事件进去,这个是用来分析用户行为的,他对页面哪些部分感兴趣,停留时间,操作流程,这些都和后期的迭代优化息息相关
非技术层面
沟通真的很重要
对产品和运营
现在大部分公司都采用的是 运营 => 产品 => 开发
的模式,而我也经历过,根据产品的排期,做完紧急需求之后,业务方几个月也不见得使用的情况,也遇到过直接和运营交流,他们提了很多很棒的思路,同时也提了很多技术看起来。。。emmm扯淡的想法
为啥说前端的沟通能力很重要呢,因为前端接触的人最多,真的要开始交流(可能是撕逼)起来,大概要和
- 产品
- 后端
- 测试
- UED
- 设计
- 业务
- 其他前端
- 如果是hy页面的话,还会和客户端
- 用户
各个方面都要进行沟通,每个人看问题的角度不一样,出发点不一样,立场也不一样,更多的时候是需要在之间取得一个平衡
对于产品和业务
他们并不了解技术,但是他们能够提供想法,对于他们的想法,合理的需要实现,不合理的,如果有其他替代方案可以和他们提,如果实在不行的,需要说明理由
对于UED和设计
交互和设计也是一样,相比较产品这块,他们可能不太会考虑,
- 这种效果好不好实现
- 这个效果在一些机型上会不会有问题
- 在不同屏幕分辨率和长宽比的情况下,可能会造成的问题
- 切图的时候,分辨率过高造成的页面加载速度
像这一些,更好的还是通过给他们不同比例的设备,用实际体验说服他们
测试
照着他们说的做就是了
用户
祈祷一下他们用的浏览器/客户端都是能用的吧
其他的
好好保护颈椎和腰椎吧,真的很重要,买个升降台,站着办公也是个很好的选择