2018年总结以及2019年展望

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

内容简介: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日


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

查看所有标签

猜你喜欢:

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

孵化Twitter

孵化Twitter

[美]尼克·比尔顿(Nick Bilton) / 欧常智、张宇、单旖 / 浙江人民出版社 / 2014-1 / 49.90元

一个在挣扎中生存的博客平台Odeo,一小撮龙蛇混杂的无政府主义者员工,经历了怎样的涅槃,摇身一变,成为纽交所最闪耀的上市企业Twitter? 一个野心勃勃的农场小男孩,一个满身纹身的“无名氏“,一个爱开玩笑的外交家,一位害羞而又充满活力的极客,这四位各有特色的创始人如何从兢兢业业、每日劳作的工程师,成为了登上杂志封面、奥普拉秀和每日秀的富裕名人?而在Twitter日益茁壮成长的过程中,他们又......一起来看看 《孵化Twitter》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具