2018年初的时候,和行内的朋友吃了个饭,深感曾经的小伙伴已经走上了一条条各自独立的道路,有的专一于webGL,有的倾心于移动端开发,有的走上了前端产品架构的道路,反观我本身,感受像是在原地踏步,虽然说技术手段一直在进步,可是干的事情和一年前并没什么区别,深感恐慌。php
如今想来,当时的恐慌是对的,感谢那个恐慌的本身,2015年从业至今,从刚开始样式都写不利索,到如今水平不提,经历了不少,我自认为本身是学习驱动型而不是那种项目驱动型选手,写代码也非外包心态,由于刚入行的时候有个朋友说过,平时工做的时候不严格要求本身以求发挥出本身的最佳水平,那什么时间合适?因此我这样作了,定要居安思危。css
18年春天经历过一段时间的面试,有不少大厂,给个人感触很深,会问不少底层的东西,不仅知其然,还要知其因此然,作前端开发不止写写页面写兼容这么简单,要懂框架的设计理念,要懂node开发,要会算法,一番起起伏伏的面试,总算知晓了大的方向,接下来就是朝着这个方向去努力。因此我选择了沉淀,没有着急的跳槽,毕竟像我这么敬业的人,合同还没到期不是。前端
无数的项目累计下来,才知道本身擅长什么,欠缺什么。更重要的是,这些东西不仅是应用于工做,还要应用于生活。vue
春末夏初,迎来了本身今年的第一个大的项目,一个名叫mraid的项目,我要从服务器拿数据,而后解析展现到多平台的sdk内的webview里,项目一开始,我就知道这个需求难在哪里,不少人以为前端开发就是写写页面,写写js,写写样式,上个时代确实是这样,可是如今,我选择摇摇头,Android和iOS那么多版本,那么多机型,我怎么保证本身的代码和样式在全部设备上运行彻底一致,还有测试,浏览器有console,终端设备可没有,因此项目开始以前先要坐下来想想架构的事。node
要处理js和css的兼容性,webpack是必不可少的,由于我使用的是vue-cli的webpaack配置信息,因此节省了许多的配置的环节,postcss也是必须的,为了更好的作一些移动端适配的问题,我使用了scss来方便手写一些样式函数,使用vw来衔接原型图以达到一一对应,js方面,使用发布订阅模式进行一些业务逻辑的开发,主要用来检测视频的播放,使用iconfont来节省图片请求的消耗,缓存使用的是manifest,这里又学了一些http方面的知识,最终完成开发,可是代码是写完了,测试怎么作,个人作法是本地index页面模拟客户端下发的模板,而后客户端请求局域网个人本地来进行开发测试,最终打包后的文件上传到s3,s3上一样有两个文件夹,testpagead是测试用的,pagead是线上环境,一样都是使用的线上的资源,这时候是初版的开发。react
紧接着初版上线,第二版的开发,须要使用vast协议,其实就是固定格式的xml文件,这里面涉及到目前市面上流行的各类格式的xml,其实只是换了一种输入方式,以前是json,如今是xml,咱们要作的就是把xml转化成json,这项工做由个人同事王小乐完成,里面涉及一些算法,好比说避免递归形成的性能损耗,改多维度为单维度,通过这一系列操做,最终拿到json数据,可是测试依然是个问题,此测试非彼测试,jest并不能解决这个问题,由于要在真机上测试,因此没法查看打印信息,使用Chrome和Safari的真机测试又因为产品的逻辑缘由没法打印,束手无策中,果然是须要吃饭就有人递碗,得道者多助,vConsole映入眼帘。进过测试,解决了燃眉之急。webpack
然而,产品开发完已经半年,目前尚未合并到master,缘由未知。git
时间一转眼已经是盛夏,骑着老张的祖玛在G6上飞驰,我却在想着代码的事情,真是游手好闲。交警叔叔告诉你,20块钱任我行。随着前一个开发任务告一段落,新的任务接踵而至。须要作一个后台管理系统,这难道不是个人拿手好戏?一样使用vue全家桶,有的同窗就问,为何不用react,这就要追溯到2016年,在无穷无尽的jq和bt里挣扎的我,当时急须要一个能解放生产力的框架,那个时候我在vue,react,Angular里摇摆不定,最终发现vue的文档好像更容易让身为初级的我容易看懂,因而乎,一骑绝尘。思绪拉回现实,后台管理系统,UI我使用的是Element,不得不说,坑有,但起码如今解决了,由于我去年就在用了,当时还有朋友说饿了么这个UI不算是最好用的,我也很慌张,直到今年传来阿里收购饿了么的消息,阿里的技术整合把饿了么的这套Element也整合了进去,有兴趣的同窗参照阿里飞冰,就这样vue全家桶+Element作完了一个后台管理系统,由于有以前写移动端的本身写的scss轮子,还有一些小的框架,好比moment,math,echart等,让工做事半功倍。程序员
目前为止我少说了一件事,一件我16年入职时一直在作的,就是旧的后台管理系统的开发,由于我司这边平台后端的同窗是php,使用的是yii框架,我一直没想到怎么处理让我和php同窗一块儿写页面和逻辑的事,由于毕竟人再努力也有力竭。这个时候就提现出了vue做为渐进式框架的好处,由于平台只引用了vue.js文件,因此我手写了一个component,一些经常使用的组件应运而生,配合Element,以达到事半功倍的效果,这个时候机智的我默默把之前的js后缀名换成了ts后缀名,此处滑稽脸,组件样式沿用移动端的scss轮子,一法通万法,使用ts也是不得已而为之,毕竟es678的兼容性摆在那里。提及兼容性,页面布局使用grid和flex简直一本万利,毕竟这是纯pc端平台。es6
一晚上无话,大的需求作完了,接下来是一些之前的老旧代码的重构和新的需求的开发,此处不详谈,由于产品看来可能改观很大,在开发看来就是搬砖。DuangDuangDuang,又多出了几个轮子,这里有几个轮子单独提出来讲,首先是页面段落式跳转组件,由于要监听鼠标滚轮的滚动,和点击按钮跳转,我知道该我上场表演了,这里不用节流和防抖更待什么时候,事实证实,效果不是通常的好。还有一个是资源上传组件,里面涉及到不少ajax回调,感谢Promise和async,await,让我几个月后还能看得懂本身的代码。
中间夹杂着一些本身的学习的项目,好比node,对于没有接触过服务端的人来讲,举步维艰,好在有队友,我看的是egg,感慨万分,还在努力学习中,毕竟是有谷歌云的人。ts也在学习,这个超集有点好用。算法,嗯算法必需要学,看看身旁的算法导论,一晚上无话。
2019年了,距离人生赢家又近了一步。
有人说程序员三年是一个分水岭,能上去的就上去了,上不去就该考虑转型了,我想说的是,咱们都还年轻。
2018年12月18日