前端技术总结
又到年底了,在技术方面,自己做下小总结吧。
一、技术进步
18年算是稳中有进的一年,在我的推进下,主要完成以下技术“突破”:
- 完成团队前端的持续集成方案
- 完成标准版响应式UI架构(V1.0 & V2.0)
1.设计、前端持续集成方案
其实这个持续集成还比较原始,使用到了gitlab-ci,docker镜像,nodejs等技术。
当前端工程师上传代码后,触发CI,在自研的docker镜像中,源码自动编译、打包、压缩,发送消息给自研的nodejs平台(基于express+MongoDB)。自研平台自动抓取打包后的产物,进行产物(我们产物大多是静态页面)的在线评审或交付。
不足之处:虽然团队使用情况良好,但是感觉有点把事情弄复杂了,或许gitlab-page对于静态页面的展示就够用了。
2.响应式UI新架构
在老架构Gulp、Sass等技术的基础上进行了升级,加入了git submodules 和 EJS 模板技术。团队成员不再写静态html,改写ejs。通过自研的gulp ejs-json编译插件,做到 结构(ejs模板)+数据(json数据) = 静态html。这样写有一个好处:可以组件化开发静态页面。
//项目结构如下:
- common //git submodules 公有库
- src
- components //组件
- Banner
banner.ejs //结构
banner.js //动作
banner.scss // 样式
- Header
- ……
- pages
index.ejs //页面
- data
index.json //页面数据
//还有很多文件,这里省略……
1)gulp使用的ejs-json插件
ejs-json传送门
说是“自研”,其实是拿gulp-ejs插件改造的,目的是为了每次读取ejs模板对应去一个文件夹里读取数据。
gulp编译页面时,使用插件,读取data文件夹里对应json数据,循环、遍历生成静态页面,可比复制粘贴靠谱多了。同时还可以锻炼编程能力,不至于写出一堆无法复用的“辣鸡”代码。
2) git submodule的使用
为啥用这个?因为多项目使用同样的部分资源,例如某些页面结构,某些样式。大量减少重复迭代,利器。问题是,使用这个技术后,项目协作出现了一些问题,很多萌新,老是冲突、报错、代码被覆盖……头痛中。
二、兴趣的尝试
今年坚持得比较好的一点是,每个月还是在坚持读一些新东西,了解行业,并有所积累,收集了一些对自己有帮助的文章,附上传送门。
- 还入门了python,心心念念的爬虫,爬取了实时票房(没有反扒的那种网站)
- 经历了three.JS,从入门到放弃(19年争取把它拿下!)
- 学了docker,自己制作了镜像,制作了npm包,熟悉了自研平台的维护等
- 还有几次比较重要的分享会,参与了一次“彻底改变思维”的与客户的谈判会。
三、总结
今年做了不少东西,也有一些感慨。其实,能自发去做一些事情,攻克一些难题是好事。但是事事为团队考虑,也会有人不理解,收获也不大,心累。
还是为自己多想想吧,做自己想做的,顺便看看团队能否用。不要太“尽心竭力”了。
2018年,在职四年,两年后端,两年前端。
关注页面重构方向的切图仔一只,2019加油!