网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
前两天技术群里一个小伙伴突然问:
不知道你有没有遇到过,每次过年回家 或 相亲都会遇到这样的段子
亲戚 (或未来丈母娘) : 你现在干啥呢?
我:我是做Android的,换种方式说 ,是做app、做手机应用的,就你手机上这一个个应用就是我 们做的
亲戚 (未来丈母娘) : “那你能不能做个淘宝、微信啊?
面对这种疑问,我们也只能笑一笑,毕竟淘宝是200多人同时开发的结晶。经历10多年的版本迭 代。形成了如今高性能淘宝应用,凭一人之力无法做出完整淘宝项目,当然了,我们也可以仿淘宝做做 UI界面。但做出来的壳子对技术提升来说没有什么意义。
这种疑问也引发我们深刻沉思,作为专业的我们, 是怎么实现手机淘宝的,我们应该有所了解。 用了什么架构 ,接下来我们就一起来揭秘吧!
那我们就一起看看淘宝团队是如何实现200多人一起协作开发的完整大型项目吧!
1.1 手淘项目早期遇到的问题你现在也可能遇到?
手机淘宝Android客户端有几百人开发,十几个团队。如果整个Android客户端是一个工程,那十 几个团队每个人上午上班第一件事情估计就是合代码,运气不好,一天都在合代码,而且只要有一个人 提交的代码编译不过,所有人都会被堵塞在那里,所以单个工程是不可能的事情。
只要是包含了很多业务的客户端,都会面临这个问题,各个业务代码量越来越多,新需求又源源 不断的来,业务团队之间要是有直接依赖,那被依赖最多的团队成员,在改代码的时候都是战战兢兢 的,生怕自己的改动导致其他业务奔溃。
最终交付的时候,总会被一个业务线的人卡住,导致没法及时交付这个版本。而且随着代码量越来 越多,方法数超65535的问题也跟着到来
在手机淘宝2010年的版本 由单体项目转成了组件化项目
1.2 为什么要手淘项目要实现组件化呢?
随着从手淘APP发布第一个版本以来,新功能的不断增加,业务也会变的越来越复杂,从当初5个 人的Android团队发展到现在200人的团队规模。协作起来越来越复杂和麻烦,,每次发布版本时真是头 疼的问题!!!
看你的项目适不适应组件化! 看你有没有遇到以下几种情况
1、实际业务变化非常快,但是单一工程的业务模块耦合度太高,牵一发而动全身;
2、对工程所做的任何修改都必须要编译整个工程;
3、功能测试和系统测试每次都要进行;
4、团队协同开发存在较多的冲突.不得不花费更多的时间去沟通和协调,并且在开发过程中,任 何一位成员没办法专注于自己的功能点,影响开发效率;
5、不能灵活的对业务模块进行配置和组装;
1.3 再来看看手淘项目组件化开发的一些优势:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!