工作一年的概述
时间很快,转眼一年就过去,在这一年里,感受最深的还是有规划的公司制度和初创公司小快灵打法的公司制度的不同,看到了流程和规范的重要性,而工作中虽然还是有很多小问题小细节没留意到,但也算是开始懂得何为工程师的品质了,即注重细节,并根据实际情况制定解决方案,和geeker这类创造型人员是有很大的区别的 ,这一年的变化,对我来说,就是geeker(我自认为的)到工程师的转变。
工作方面
需求研读是每个工程师必须牢牢掌握的技能,前面说过,工程师是要注重细节的,在研读需求的过程中了解需求中的细节,发现需求中的逻辑问题并提出相应的解决问题的方法。怎么能更快的发现问题呢?那需要你对业务,对产品的熟悉,这就延伸到你是否看懂了项目的代码这个问题上,再研读需求时,我们都是在对照着项目代码看新需求的,用以对比找到需求上的逻辑问题。但这是针对项目中已经实现的需求的再改造,对于从未实现的需求呢?这就需要通过竞品分析,查看其它对手产品的实现方式,预研是否适用在公司的项目上。所以说,每一个工程师,或者说每一个程序员,都要有一颗产品的心,而公司的氛围倾向于让技术人员多说话,开放的氛围有利于我们对于产品理解能力的修炼。
个人能力
说实话,个人能力感觉并没有太大的提升,不是说接触的东西不多,组件化,热修复等都有接触,可能是公司的产品在新技术上的接纳度不够高吧,当然啦,也不是说一定要用retrofit,rxjava,要有利于产品的技术接入才是最重要的,所以这里讲的还是个人在Android基础能力的方方面面,在这里,就主要讲进阶的能力和组件化,热修复,jsbridge等新技术的应用。
-
进阶
1.自定义View
按照Android开发艺术探索里面讲到的进阶知识点,在这一年里,接触较多的就是自定义View的绘制和使用,主要是照着 GcsSloop的学习笔记 的系列教程学习绘制。由于项目中使用了图表框架,所以看了下 HelloChart 的源码,并优化了公司项目中使用了hellochart的代码
2.Animation
由于公司现在以优化项目产品为主,所以在动画的使用上会越来越多,在这块上也了解得比较多,主要是使用了RippleEffect来实现按钮的水波纹效果,并兼容5.0以下的版本,在这个基础上,改进了控件使之达到原生一致的动画效果(其实改起来还是蛮简单的),这个是我自己修改过的RippleEffect。 -
新技术
1.JsBridge
这是个用来做native与web交互功能的框架,github上有很多个人写的框架,原理一致大同小异,在项目中,这块功能最主要是用在web调用native的功能交互上,如web跳转到native上的登录功能等。在这块上主要是定义接口,推荐框架https://github.com/lzyzsd/JsBridge;
2.热修复
主要是采用了阿里推出的热修复框架hotfixhttps://github.com/alibaba/AndFix(AndFix是开源框架,hotFix是商业服务),对于这块没有太多了解,只是稍微理解了下它的原理,就是利用MulitDex技术实现下载不同的patch包,并在调用到相同模块时反射调用到修复的patch里面。但HotFix的分发效率有点低,推包上去后总是无法及时更新;
3.组件化
组件化,通俗点讲,使用起来其实就是debug时可以让module各自运行,打包时可以使用1module多lib的方式实现打包,要注意的细节还是比较多的,推荐张涛的Android业务组件化开发实践,里面讲到的实践细节还是很多的。
结语
一年真的很快,感觉这一年更多的是在业务上有了较多的理解,在技术上进步的幅度不大,接下来的一年要好好沉淀,进阶到下一个阶段才行。
网友评论