2018年总结以及2019年展望

栏目: JavaScript · 发布时间: 6年前

内容简介:2018年初的时候,和行内的朋友吃了个饭,深感曾经的小伙伴已经走上了一条条各自独立的道路,有的专注于webGL,有的倾心于移动端开发,有的走上了前端产品架构的道路,反观我自己,感觉像是在原地踏步,虽说技术手段一直在进步,但是干的事情和一年前并没什么区别,深感恐慌。现在想来,当时的恐慌是对的,感谢那个恐慌的自己,2015年从业至今,从刚开始样式都写不利索,到现在水平不提,经历了很多,我自认为自己是学习驱动型而不是那种项目驱动型选手,写代码也非外包心态,因为刚入行的时候有个朋友说过,平时工作的时候不严格要求自

2018年初的时候,和行内的朋友吃了个饭,深感曾经的小伙伴已经走上了一条条各自独立的道路,有的专注于webGL,有的倾心于移动端开发,有的走上了前端产品架构的道路,反观我自己,感觉像是在原地踏步,虽说技术手段一直在进步,但是干的事情和一年前并没什么区别,深感恐慌。

现在想来,当时的恐慌是对的,感谢那个恐慌的自己,2015年从业至今,从刚开始样式都写不利索,到现在水平不提,经历了很多,我自认为自己是学习驱动型而不是那种项目驱动型选手,写代码也非外包心态,因为刚入行的时候有个朋友说过,平时工作的时候不严格要求自己以求发挥出自己的最佳水平,那什么时间合适?所以我这样做了,定要居安思危。

18年春天经历过一段时间的面试,有很多大厂,给我的感触很深,会问很多底层的东西,不只知其然,还要知其所以然,做前端开发不止写写页面写兼容这么简单,要懂框架的设计理念,要懂node开发,要会算法,一番起起伏伏的面试,总算知晓了大的方向,接下来就是朝着这个方向去努力。所以我选择了沉淀,没有着急的跳槽,毕竟像我这么敬业的人,合同还没到期不是。

脚踏实地的学习与成长

无数的项目累计下来,才知道自己擅长什么,欠缺什么。更重要的是,这些东西不只是应用于工作,还要应用于生活。

春末夏初,迎来了自己今年的第一个大的项目,一个名叫mraid的项目,我要从服务器拿数据,然后解析展示到多平台的sdk内的webview里,项目一开始,我就知道这个需求难在哪里,很多人觉得前端开发就是写写页面,写写js,写写样式,上个时代确实是这样,但是现在,我选择摇摇头,Android和iOS那么多版本,那么多机型,我怎么保证自己的代码和样式在所有设备上运行完全一致,还有测试,浏览器有console,终端设备可没有,所以项目开始之前先要坐下来想一想架构的事。

要处理js和css的兼容性,webpack是必不可少的,因为我使用的是vue-cli的webpaack配置信息,所以节省了许多的配置的环节,postcss也是必须的,为了更好的做一些移动端适配的问题,我使用了scss来方便手写一些样式函数,使用vw来衔接原型图以达到一一对应,js方面,使用发布订阅模式进行一些业务逻辑的开发,主要用来检测视频的播放,使用iconfont来节省图片请求的消耗,缓存使用的是manifest,这里又学了一些http方面的知识,最终完成开发,但是代码是写完了,测试怎么做,我的做法是本地index页面模拟客户端下发的模板,然后客户端请求局域网我的本地来进行开发测试,最终打包后的文件上传到s3,s3上同样有两个文件夹,testpagead是测试用的,pagead是线上环境,同样都是使用的线上的资源,这时候是第一版的开发。

紧接着第一版上线,第二版的开发,需要使用vast协议,其实就是固定格式的xml文件,这里面涉及到目前市面上流行的各种格式的xml,其实只是换了一种输入方式,之前是json,现在是xml,我们要做的就是把xml转化成json,这项工作由我的同事王小乐完成,里面涉及一些算法,比如说避免递归造成的性能损耗,改多维度为单维度,经过这一系列操作,最终拿到json数据,但是测试依然是个问题,此测试非彼测试,jest并不能解决这个问题,因为要在真机上测试,所以无法查看打印信息,使用Chrome和Safari的真机测试又由于产品的逻辑原因无法打印,一筹莫展中,果真是需要吃饭就有人递碗,得道者多助, vConsole 映入眼帘。进过测试,解决了燃眉之急。

然而,产品开发完已经半年,目前还没有合并到master,原因未知。

时间一转眼已是盛夏,骑着老张的祖玛在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端平台。

一夜无话,大的需求做完了,接下来是一些以前的老旧代码的重构和新的需求的开发,此处不详谈,因为产品看来可能改观很大,在开发看来就是搬砖。DuangDuangDuang,又多出了几个轮子,这里有几个轮子单独提出来说,首先是页面段落式跳转组件,因为要监听鼠标滚轮的滚动,和点击按钮跳转,我知道该我上场表演了,这里不用节流和防抖更待何时,事实证明,效果不是一般的好。还有一个是资源上传组件,里面涉及到很多ajax回调,感谢Promise和async,await,让我几个月后还能看得懂自己的代码。

中间夹杂着一些自己的学习的项目,比如node,对于没有接触过服务端的人来说,举步维艰,好在有队友,我看的是egg,感慨万分,还在努力学习中,毕竟是有谷歌云的人。ts也在学习,这个超集有点好用。算法,嗯算法必须要学,看看身旁的算法导论,一夜无话。

新的旅途,新的征程

2019年了,距离人生赢家又近了一步。

有人说 程序员 三年是一个分水岭,能上去的就上去了,上不去就该考虑转型了,我想说的是,我们都还年轻。

2018年12月18日


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Speed Up Your Site

Speed Up Your Site

Andrew B. King / New Riders Press / 2003-01-14 / USD 39.99

There's a time bomb on the web: user patience. It starts ticking each time someone opens one of your pages. You only have a few seconds to get compelling content onto the screen. Fail, and you can kis......一起来看看 《Speed Up Your Site》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

URL 编码/解码
URL 编码/解码

URL 编码/解码