毕业一年有余,正儿八经的做前端应该是一年零一个月。正好总结一下2016年的种种。
工作
去年的这个时候,由于项目组的变动,刚刚从搞cloudstack的平台转到前端,这算是一个职业的转折点吧。由于半路出家,好多东西不懂。幸好当时的导师带了一段时间,带入门的人对新人未来的发展还是有很大的影响的,特别是当时像我这样萌新。。从最基本的svn,maven,浏览器调试,xshell等工具的使用到代码结构,业务逻辑等,都从他身上学习了不少,特别感谢他。刚到公司那会儿是真的蛮拼的,即使没什么任务也基本上是最后走的,就在公司待着研究代码,自己学struts(项目使用的是SSH2,所以我也负责action代码的编写)
随着技术的增长,分配的工作也越来越复杂,一开始只是添加字段传到后台,换换背景这样的。。现在看起来秒秒钟搞定的活儿(当时还费了一番功夫_(:з」∠)_) 再到独立完成某个模块下的一个功能点,再到根据设计稿自己切图(没错,成为了熟练的切图仔),独立完成一个模块的所有功能点,最后也就是6,7月份开启的docker管理平台,真正体验了一个项目从零到一的过程,并且学着开始带新人,整个项目的前端几乎都是我和小徒弟完成的。经过一年的磨练,成了别人(小徒弟)眼里能独挡一面的人了(大误),想想还是蛮有成就感的。。但是其实自己知道还远远不够。这个放在技术具体再讲讲。
技术
其实一直就喜欢前端工程,大概是因为看起来比较有设计感以及做起来成绩感吧,还有就是有个小目标,万一一不小心成了全栈呢(。・`ω´・) 哈哈。转了前端之后,更加一发不可收拾,html,css和js(jquery) 三剑客一开始其实就会一点,但是并不系统。。然后就上w3c school上,一个个demo的看,一个个demo的敲。项目的页面是jsp写的xhtml。。所以开始的时候并没有系统的接触h5,css3也用的少,毕竟样式都有积累,我只是小修小补。意识到这点之后,开始补h5和css3的知识,这期间还补了struts的一些知识。。期间造了一些轮子。。然后发现自己的轮子是方的,果断换成别人的插件,有时间的时候拜读。。惊叹于作者的技巧。
然后接下来有一阵子的迷茫期。。感觉前端技术到了一个瓶颈的样子。难道不是学好html,css,js还有什么网页是搞不定的?然后开始刷知乎,了解到github。。在上面看到别人用jekll在github搭了个博客,也跟着搞了一个,然而。。并不怎么写博客(感觉最多叫笔记,但是用印象笔记感觉更方便的样子),所以后来也就废弃了。开始刷一些技术应用,segmentfault,掘金。。了解到前端的框架。然后就跟打开了新世界的大门一样,angular(当时还是1.X版本),react,vue(当时也是0.x版本来着),瞬间觉得找到了人生目标。。但是面对茫茫多的名词,感觉力不从心。。前端工程化是啥?自动化是啥?模块化又是啥?(三角函数懵逼)node是啥?css预编译是啥?es6是啥?总之就是一堆高大上的技术(实际上现在还是好多都不懂。。)然后就想到了著名格言,光说不练假把式,于是买了本angular教程,跟着书里写了个查询股票的demo(好早之前写的),当时写的稀里糊涂的,依稀记得用的是grunt,yoeman构建项目。。当时就被震撼到了,简直太酷炫了。。双向绑定,mvc(没错,我第一个反应是:啥,前端也来mvc?)。这些东西让我觉得前端果然是深不可测(可惜当时没人能教我了,因为导师自己也没接触过这些。。。),只能自己一步一步摸索,走了不少弯路。。不过angular的学习曲线还真不是盖的(╯' - ')╯︵ ┻━┻然后项目开始忙了,也就搁置了。但是对angular的学习,让我开始有意识的开始接触前沿的技术,并且试着从网络上找资料去了解,学习。
后来在刷知乎的时候。。发现vue的作者尤大神。。是上知乎的。。顿时对vue产生了好奇,去官网看了一下文档。。对比angular之后。。果断投入vue的怀抱。。要说原因吧,大概是因为vue的上手难度确实比较低,官方文档写的好,单文件组件的开发方式很讨喜。。指令啥的和angular差不多,感觉备有亲切感,哈哈。。话说这期间我还了解了一下react。发现要学jsx(这又是啥?为什么要在js里写网页),然后就没有然后了。。期间了解了gulp,看了点node的东西,学了stylus(用着还蛮顺手的)。。然而那会儿还没有新项目,学的这些在老项目上又用不上。。所以就只能自个儿写写demo自娱自乐,顺便和别的前端吹逼_(:з」∠)_。然后vue就出了2.0版本。。其实自己一直没有系统的学过前端开发整个流程(公司半国企性质,项目组的前端开发方式停留在4,5年前),这期间学了npm+webpack,eslint,买了阮一峰老师的es6教程那本书,利用空闲时间学习。不得不说的是es6的有一些新特性简直太棒了,比如模块化。。之前还纠结CMD,AMD是啥。。现在好了。。es6 module大概会一统天下吧。
然后就是最近了。推出了微信小程序。。本来想试一试的。但是新项目由于时间上比较紧迫,所以也没太多时间搞。。说到新项目,自己也没啥经验,还带了个新人,索性就用之前的框架SSH,直接上jquery。总算是完成了一个阶段的开发。不过越到后面越感觉将来维护起来会特别困难,其实那会儿就动了用vue重写的心思。。这时候了解到饿了么公司开发了一套vue2.0的ui组件,当时看到这个反应是。。外卖公司开发这个干啥(原谅我的见识浅薄),不过刚好契合我们这个系统啊。。。而且代码进入优化阶段,算是腾出手来了。不过小徒弟被调去写后台代码了(没错,这个项目的前端就剩我一个了)。。。。当时的打算是保证新功能的开发(依然基于旧的代码),然后自己私底下加班用vue框架结合element-ui搭一个demo,如果能行就告诉小头目,给他一个surprise。。目前的情况是。框架搭起来了,还有不少功能需要重写(毕竟是快3个月的代码量)。然后告诉了小头目。。我差不多搭了一套前端工程化的东西(感谢vue全家桶,用vue写起来真的很爽)。小头目表示波澜不惊(因为他是搞java的。。对前端应该没啥了解)。。问我一两周之内能不能把功能迁移过去(黑人问号脸)_(´ཀ`」 ∠)_ 2016年差不多就是这样啦。
总结:2016年收获很多,从简单的切图,到css3/html5,摸到了前端工程化的门槛,学习了vue框架,正在学es6。。路漫漫其修远兮,吾将上下而求索。2017年,我还想接触更多的知识,了解更多前端酷炫的技能,顺便学一点其他的知识,梦想还是要有的,万一不小心成了全栈呢(。・`ω´・)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。