戏说移动江湖开发历程
问题1的思考,既然实现解耦合同时实现热拔式方案,说白点就是当前模块开关关闭,被其他引用的模块无法感知到这个模块被关闭,即其他模块引用的代码必须不能硬编码此模块的方法和引用类等等,方案就是组件路由,调用方通过字符串path查询模块的服务和功能。 问题2的思考,代码权限管理一般通过git或者svn去实现。 问题3的思考,可以通过gradle脚本实现模块打包上传私服。 问题4的思考,gradle本身问题加上模块多导致编译速度慢,根据业务线的独立性那我们可以通过编写业务模块时给此模块实现App模式,减少其他不必要的代码编译和运行。实现方案大体如下: 在模块gradle编译脚本通过标识符来区分是模块还是可独立运行的App
这样我们需要单独运行此模块,在gradle.properies把FINANCE_IS_APPLICATION为true然后编译就可以实现业务代码编写和运行。有人问,如果我需要实现主App里面的新业务,那你可以关闭其他无关的模块实现快速编译提高开发效率。 问题5的思考,随着项目的增大和多渠道的打包,此时需要进行考虑项目周边的业务服务,例如提供给测试人员的打包测试,正式版的发布等等自动化产出问题。 一般自动化服务可以通过搭建jenkins服务,或者配合python脚本实现自动化打包功能,其 脚本的功能因公司而异。
所以此时迫切需要一个熟悉gradle,python等脚本的同志(gradle本身是grovvy语言)。保证新业务的开发的情况下整个过程的重构和完善至少需要半年时间(大公司除外)。 慢慢发现,组件化架构无声无息的出现了,是不是很神奇。 回过头发现组件化架构已经进行了一小部分,信心十足,继续干,此时必须祭出毛爷爷的红本子,大声的朗读出来,我爱编程,皮肤好好!! 我们发现已经做了业务模块化代码分离和模块间路由互调通信以及gradle组件化脚本; 你的成长是建立在公司的成长上,随着公司业务发展庞大,种种缘由业务伴随着也会出现分支独立,需要某些子业务线独立出App提供专业的服务和体验;需要撒播种子开花结果,原先的子模块可能变成独立App,所以发现目前的架构是没法实现,对,走过来,请在菩提树下思考;其根本缘由就是组件化不完全导致的。其中最大问题就是主项目模块涉及到大量的以前最早的业务代码和功能,现在最迫切问题是需要把主项目的业务剥离变成一个业务子模块加一个纯粹的项目骨架,其中项目骨架必须上升一级变成新的主项目模块,此主项目模块包含项目公共业务。说白点,把项目骨架套在其他子模块就是一个独立的App可以运行; 作为对比,图四为原架构图,图五为主项目模块上升一级为项目骨架的架构图 其中主项目骨架必须包含的功能有:
![]() 这个时候组件化大体已经完整成型,现在唯一需要做的就是通过gradle脚本去做粘合器,脚本配合jenkins动态实现模块间和主项目骨架的组合; (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |