8年移动端开发复盘

145 阅读8分钟

hi,大家好,我是vicky开发者。

我是2022年年底在掘金上学习技术文章时看到好多22年总结文章,然后我就下意识回顾了下自己这些年的工作生活,感觉只有最近三年才有个清晰,明确的目标,且技术栈得以拓展

前多年呢?

年初没有目标规划,年底也没有复盘,每年技术的进步只是局限于工作中的业务场景。所以,我想是时候做一个回顾和展望了。迫于年底前时间紧张且心思不集中,所以就挪到年后且推迟到2023年2月10日才开始。

所以,这篇文章主要是这两大模块:

  • 先回顾我从入行至今的一些关键点,
    • 主要复盘下:经过了这些年,我对软件开发的认知变化或者说是技术上的进步情况,
  • 尽可能详尽的做一下后面的规划。

回顾

人太容易在琐碎生活中迷失......

初入职场

我是2015年初接触安卓,学习的过程中笔记记得相当详细,带着“丰富的理论”2016年开始第一份安卓工作,当然那个笔记帮了很多忙。

第一个厂是创业公司,做wifi相关的(不是挖能钥匙那种哈),围绕当时的需求,发生在身上的事情太多了:

回想起来还得感谢第一个厂,因为是创业,且是做产品,都是探索需求,想到个啥就做啥,这些对我的技术时刻都发出挑战:

直到离开第一个厂,时安卓版本是6才出来,才刚刚接触运行时权限,且是自己代码实现。可见:第一个厂子工作时,第三方还没今天这麽发达,那会操心造轮子

  1. 刚进厂,第一个探索的需求:点餐,那会外卖平台刚出来,也正火。至今记忆尤新的是界面需要水波纹按钮;点餐加号用贝塞尔曲线实现点击点到购物车的滚动。对面ios有现成的,分分钟就出来,我得操心自己造
  2. 播放视频,列表播放,全屏切换,手势操作等等,因为那会不想现在有各种完善的第三方,所以就晚上学到大半夜,操作造轮子
  3. 地图导航、路线规划,我们当时是模仿饿了麽的导航去做,有骑车、步行、开车等等,那会sdk也没有这种完整的功能。当然也是做的地图相关的东西很多,也得到第二个厂的老板offer
  4. app中链接wifi、静态、动态、pppoe等
  5. 没有用游戏引擎,全是安卓动画来实现当年qq的农场功能
  6. .........

第一个厂,过得老心酸了,现在回想起来,还很感慨,有些事当时觉得是坏事,拉长时间线去看,未必是这样。很庆幸,熬过来了,安卓技术有了太多的积累,也养成了一个很棒的习惯:记笔记。那会还没有用Git、有道云等等。所有的学习痕迹都放在了云盘:

image.png

这麽多年来工作新学到什么知识,我都会尽可能记录下来。这个不起眼的开始,让我逐渐有了解决问题后及时沉淀、分享的习惯,受益匪浅。

第二厂

进第二个厂之前正好赶上那年华为裁人,市场上的安卓开发多如牛毛,工作很难找,巧了,厂长正好看上我之前的地图的工作经验

在这里做了一大堆商城相关项目,最心酸的是年前被外派到上海外滩去做商城,每天上下班就往返在城隍庙和西藏路,下班最爱吃的还是西藏路靠近城隍庙的天桥下的兰州牛肉面,也就是上班地在外滩,这是唯一的欣慰

实话说,第二个厂没有啥成长,甚至连一个笔记都没有记录下来,有的只是局限于需求上的技术经验:

  • 商城、
  • 三大支付
  • 手写签名
  • 封装了一个京东的地址选择库,这个库在我进入第三个厂前得到了我当时尚不认识第三厂同事的使用和赞赏。
  • 还学过php

当然这一年在上海出差前后也在开始接触前端,也赶上小程序刚出来,就操心学了下,这应该是这段经历的收获了

第三厂

第三个厂我们做的政府相关的项目,也牵涉到工作流,这段经历还是值得回忆的,当然也有很多收获: 在mvp还没有火之前,我继续沿用第二个厂封装的mvc框架,当然也做了部分升级,

  • 封装的运行时权限申请库
  • 封装的recyclerview万能适配器且全面兼容左滑删除
  • 熟练的使用sqlite缓存工作流数据,使用了个在线查看sqlite的,太爽快了
  • 封装了个钉钉的面包屑导航的组件
  • 蓝牙打印机
  • 学上了python(flask、django、爬虫)等等,这个,这多年不用已经荒废了

第四厂

2020年至今,对于我来说是很重要的三年,这三年不再像之前只是安卓,这三年技术栈得以拓展,也想明白了接下来就是走大前端路线

2019年底进入第四厂,年前做了个周大福app,还去深圳总部混了个出差。年后正好赶上疫情,然后也在这会被要求开始做微信小程序, 这三年在小程序上摸爬滚打,做了20+微信小程序和其他平台小程序,沉淀了很多,

  • 小程序部分
    • 参与了微信原生小程序框架的开发
    • 为公司整了个微信小程序组件库
    • 小程序引入scss
    • es6培训
    • 小程序behavior和mobx引用培训
    • 订阅消息
    • 支付
    • 地图
    • 电子签
    • 蓝牙
    • 打印机
    • 即时通讯
    • 公共分页等相关工具类
  • 前端
    一个偶然的机会开始接触vue2,学了vue全家桶,开始进入前端的行列,后来接触了nuxt2。也做了多个上线项目
  • 安卓原生:做了一个,原生的技术貌似停在了三年前,
  • flutter:
    • 没有空安全等语法的时候封装了个基础框架和库,当然代码也写的乱,使用了provider只做简单的状态管理,谷歌上线了四个项目,公司内一个
    • flutter3.x出来后重新封装了带有空安全的库和基础框架,也首次引用了mvvm,也精简了框架,且在公司项目中初次尝鲜
    • 做了个组件库
    • 国际化等等
  • 在有道云笔记沉淀了好多笔记

展望

技术上达到一专多能

一专:

3年前还能说一专是安卓原生,但是现在貌似一专只能说小程序了。

  • 小程序部分:自认为微信小程序部分目前都有涉猎,没有啥问题,持续关注官方更新,工作中见招拆招吧

多能:

这部分就牵涉到时今年的计划了

  • flutter部分:

    这部分就在公司上班的闲暇时间推荐,以保证在没有工作任务的时候能写日报把。具体预计时间看每一点吧

    • 基于现在3.x部分mvvm框架做持续输出
      • 3.x的第一个项目mvvm当时遇到的问题现在尝试解决下。三天时间,最多一周时间
      • mvvm的最新的方案再看看。2天时间
      • mvvm新框架结构梳理(思维导图+文档说明)以及新版sdk升级;3天
      • dart基础内容、常用组件、自己的组件等文档输出,用于内部培训;一月
      • 自己封装的组件库发到pub,且整理之前项目中的图片查看、radio、图片选择等组件 半月
  • 前端部分

    • vue2
      • 持续做好现有的工作(厂长)
      • 加深技术,在学习中,持续完善新整的vue2的框架,重点关注vuex、mixins、以及一些开发规范
      • 把现有的芳芳的管理看完;2个大屏、2个h5、1个大型管理系统(芳芳)
    • nuxt2
      • 做好现有的工作(厂长)
      • 输出一个基础框架
      • 持续学习,完善框架,增加一些规范
    • 学完TS一个月
    • vue3
      • 学完全家桶一个月
      • 看几个项目:大屏、h5、管理系统,四个月
      • 输出一个基础框架
    • 开始了解react
  • 其他 :还没想好弄鸿蒙还是再续安卓

软实力

  • 开始跑步,保底100km,最好能再参加个马拉松,全程半程都行
  • 有个旅行,最好月牙泉或者爬山
  • 去年的书看完,然后再续新书
    • 南京大屠杀
    • 大清12帝
    • 红岩
    • 额尔古纳河右岸
    • 平凡的世界
    • 红星照耀中国
    • 浴血荣光