你的付出终将有所回报

709 阅读7分钟

前言

「时光不负,创作不停,本文正在参加2021年终总结征文大赛」 就这样不知不觉中,2021年又接近了尾声。我在想这一年我得到了什么?有什么成长吗?借此机会,回忆一下吧。。。

目之所及,皆是回忆

不知不觉间已经干了这么久的前端开发了,从最初的前后端不分离到现在的前后端分离。中间确实是变化的太多太多,自己也在这个浪潮中经历了自己的技术迭代。当然也是没有办法,技术如逆水行舟,你不提升自己就将会被淘汰。当然在这个技术的迭代中,自己也学到了很多。为自己的今年历程做个简单总结吧。

摆好心态,向阳而生

相信大家都有迷茫的时候,当然我也不例外。但是我知道这样的迷茫对于我并没有什么好处,于是我就再次的审视自己,不停的问自己,到底是想要什么?或者说想做什么?我就在想,我做了前端这些年,接触的业务中,发现大家都大同小异。无非就是一些后台管理系统、移动端H5页面、小程序。那么对于我来说,我有什么亮点呢?因为我业务项目上并不觉得有什么亮点,因为复杂度和流量都没有达到什么可以说的点。那么对此我就是很焦虑的,因为毫无亮点就意味着容易被替代,自己也是不愿意看到的。于是我就从项目开始从新规划自己,让自己有所成长,工作中找到自己的散光点。

重铸战舰,扬帆起航

CLI

既然项目没有什么亮点可说,那么就自己找到可以说的点,于是我就从找问题并解决问题开始了我的路程。在开发小程序的时候,发现新建页面或者组件比较繁琐,因为小程序规定页面或者组件必须是一个文件夹包含4个文件。那么,如果我在vscode编辑器里直接新建的话,我就要这样做:

  • 新建一个文件夹比如common
  • 然后新建一个index.wxml
  • 新建一个index.wxss
  • 在新建一个index.json

一番体验下来,肯定不想每次创建都是这个样子啊,不行,于是我就在微信开发者工具中新建。果然,开发者工具倒是不用一个一个文件新建,但是又有一个问题,我在vscode中开发,每次新建页面我要去开发者工具去新建,这也不是我想要的。

没办法,谁让我是个爱折腾的人呢?于是我就想我为什么不能做成一个脚手架呢,集成我想要的功能。于是我就开发了一个脚手架支持以下功能:

  • 一键创建组件或页面并支持定制模板
  • 支持重名检测
  • 支持选择目录
  • 支持钉钉报警
  • 支持开发环境切换
  • 支持ci上次体验版

反正是想到要什么功能就自己往上加,这就是自己找问题并解决问题,也是自己懒的过程。

vscode插件

当开发了脚手架,但是我并不满足于此。我就在想我为什么不把这个新建文件模板的页面和组件的功能直接放在vscode中呢?于是说做就做,就去研究如何开发一款插件。在开发插件的过程中也遇到的很多问题,于是就网上各种搜索。最后在一番踩坑后,一个插件就诞生了。虽然过程没有那么顺利,但是结果是美好的。在开发插件的过程中学到了很多,对vscode也有了更深的了解,包括界面的结构等。同时最大的收获是node和ts,因为插件是基于ts和node进行开发的。对ts的用法也更加熟悉。对node来制作工具也更加熟知,发现了js的另一扇大门,像很多后端语言一样来对本地文件的操作,能做很多有趣的事情。

服务端

学习使用eggjs等服务端框架来编写api,本来用这些框架来些api并不是一件很困难的事情。困难的事情是关于写一个api附加的其他的事情,比如说数据库、安全、错误监控等一系列服务端的知识的学习。所以在学习写一个接口开发还要去学习他们的周边技术,任重而道远。但我觉得这不是我们的重心,我们可以会,但是要把我们前端的东西弄熟之后再搞这些,因为node可以做的事情很多,服务端写接口只是其中之一,并不是说写api就是会了node。要对前端的架构更加重视点,接下来说下自己的工作思考。

工程化自动化

当你在思考你如何更高效的完成你的开发,可能你已经在往工程化与自动化方向走了。其实这部分就是为了提高我们的开发效率,让我们更好的开发。比如上面说的cli就是工程化一部分,自动化ci比如上传代码之后自动触发ci部署前端代码,极大的提高的开发效率,这些都是我们值得思考关注的点,去主动优化这些,给你带来的好处多多。

我就是发现公司业务中缺失这块东西,主动去承担这些任务,开发出一些符合自己公司业务的脚手架和npm包,帮助同事们解决一些开发中的问题,对自己的技术提升很有帮助。

就是这种工作中的一种思考,让我从单纯的业务开发中寻找自己能够提升和突破的点。拓宽自己技术的宽度和深度,在开发中并提升自己,这种正向的发展觉得很有必要。

凤凰涅槃,遇火重生

在工作中机会和困难往往是对等的。开发中,发现问题就想办法去解决,这就是成长,因为当你发现一个问题你无法解决的时候,你肯定回去查资料,看各种关于问题的文章,然后动手去尝试是否能够解决你的问题,可能有时候你的运气不是很好,你弄到最后可能并没有如你所愿的解决当前问题,但是你不用泄气。你要继续去查资料,然后你会在不断的尝试中解决你的问题,做好记录与沉淀,这就是你的成长。你会在解决问题中巩固你知道的知识并了解和掌握你不知的知识。在解决问题中我学到的有

  • node
  • docker
  • webpack
  • react hooks
  • ts

等等吧

尽人事,听天命

当然也有人会想,我去思考这些在短期内也没有什么好处啊?比如说,可能去思考和解决这些问题还会给我们自己增加压力和困难,影响自己的开发进度或者效率。比如你在使用一个新技术或者合适的技术并不是你擅长的。或者你发现的问题是基础架构中的优化点,并不影响你的业务开发。从短期看,发现并解决这些问题确实付出的大于你的收益(你觉得),其实,当你开始这样思考的时候,你已经在进步了,而且好处多多。从长远来看,那好处更多了,让你有方向,不在迷茫。

只要相信:付出总会有收获,望大家都能得到自己想要的东西。