总结
本文讲解了我对Android开发现状的一些看法,也许有些人会觉得我的观点不对,但我认为没有绝对的对与错,一切交给时间去证明吧!愿与各位坚守的同胞们互相学习,共同进步!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
现状
随着APP业务的不断增加,版本不断迭代,APP越来越臃肿,随之而来的问题也逐步呈现出来;
问题1、APP中业务代码的增量叠加,而且各种业务代码混合在一个模块里面,开发人员在开发、调测过程中势必会带来效率上的影响;比如定位一个A业务的问题,可能需要在十个业务代码混合的模块里面寻找和跳转。
问题2、工程师需要了解各个业务的功能,避免代码的改动而影响其它的业务功能,势必无形中增加了项目维护的成本。
问题3、开发和调测一个业务功能的时候,需要整体编译APP,由于代码量越大,编译速度会相应地变慢,导致一个简单功能的的修改可能就要花费几分钟的时间编译整个APP,极大地影响开发效率。
问题4、内部项目没有一个统一的快速开发框架,每个项目采用的技术实现方式都不一样,每个开发人员的编码风格也不一致,导致每开发一个新项目都要重新编码、重复造轮子,而且也造成了开发人员在项目之间的流动困难。
问题5、有一些内部项目可以共用的功能模块,同样混杂于各个app工程里面,这部分内容实际上可以考虑抽取出来,封装成独立的公用组件,供内部各个项目使用。
下图是一个典型的APP结构图,我们不妨对照下自己的APP工程看看:
目标
==
我们针对上述问题现状进行有针对性地改造。
我们考虑采取以下几种方式来实现:
解决方案1:组件化
针对问题1、问题2、问题3,我们可以考虑以组件化的形式来解决。
最后
我见过很多技术leader在面试的时候,遇到处于迷茫期的大龄程序员,比面试官年龄都大。这些人有一些共同特征:可能工作了5、6年,还是每天重复给业务部门写代码,工作内容的重复性比较高,没有什么技术含量的工作。问到这些人的职业规划时,他们也没有太多想法。
其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。
不断奔跑,你就知道学习的意义所在!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!