关于组件化的一点思考
2017-11-21 17:34
435 查看
由于在公司负责的开发中没有涉及到这一部分,不过自己还是想学学,在学习了ARouter和“得到”APP技术组开源的组件化框架DDComponentForAndroid,有了自己的一点点思考(虽然在“得到”APP 关于这个框架的介绍中提到了这点思考,不过我还是准备把自己的一点思考记录下来)
组件化:我的理解就是将不同的业务进行分离,比如登录模块就是一个登录组件,天气模块就是一个天气组件,每个模块由单独的人进行开发。实现业务上的解耦。但是有时候,我们往往需要调试,编译,但是别人的模块还没有开发完成,这个时候就需要单独编译,调试。
所以:综上就是 每个业务组件都是一个单独的APP,都能单独编译,调试,打包,发布,并且也能集合到一起,成为一个APP。
首先ARouter框架 解决了页面跳转,组件交互等”疑难杂症”,现在只需要知道页面的地址,需要的参数,那么就可以直接路由过去。并且我们还可以利用降维来进行一些操作,比如需要跳转的页面还未开发完成的时候,我们进行降维。或者要跳转的其他业务组件时,这样即使别人没开发完成也无所谓,我们自己可以先调试自己的代码。
DDComponentForAndroid 这个库主要是对于组件的打包编译做了一些操作,通过修改一些配置文件,动态的改变apply ‘xxx’(比如 apply ‘com.android.library’改为 apply ‘com.android.application‘),这样可以实现单独打包(当为‘application’的时候,得加入一些必要文件才能打包成功)。在这个库中,也提供了组件交互,和页面跳转的方法,不过呢,他的组件交互是用的接口的方法,把自己提供的服务放在一个公共的接口库中,然后每个组件都去依赖这个公共接口库,然后页面跳转,就是通过一个路由来进行跳转。
那么我的想法就是将这两个库结合起来,将DDComponentForAndroid 库的组件交互和页面跳转给去掉,加入ARouter,利用ARouter来做这两件事情,其实组件交互,也是提供接口,只要我们知道了接口,利用ARouter就能进行交互了。页面跳转更不用说了,只要定义好名字和参数,那么我们就能跳转过去了。利用这两个库,应该能够满足大部分的需求了吧
组件化:我的理解就是将不同的业务进行分离,比如登录模块就是一个登录组件,天气模块就是一个天气组件,每个模块由单独的人进行开发。实现业务上的解耦。但是有时候,我们往往需要调试,编译,但是别人的模块还没有开发完成,这个时候就需要单独编译,调试。
所以:综上就是 每个业务组件都是一个单独的APP,都能单独编译,调试,打包,发布,并且也能集合到一起,成为一个APP。
首先ARouter框架 解决了页面跳转,组件交互等”疑难杂症”,现在只需要知道页面的地址,需要的参数,那么就可以直接路由过去。并且我们还可以利用降维来进行一些操作,比如需要跳转的页面还未开发完成的时候,我们进行降维。或者要跳转的其他业务组件时,这样即使别人没开发完成也无所谓,我们自己可以先调试自己的代码。
DDComponentForAndroid 这个库主要是对于组件的打包编译做了一些操作,通过修改一些配置文件,动态的改变apply ‘xxx’(比如 apply ‘com.android.library’改为 apply ‘com.android.application‘),这样可以实现单独打包(当为‘application’的时候,得加入一些必要文件才能打包成功)。在这个库中,也提供了组件交互,和页面跳转的方法,不过呢,他的组件交互是用的接口的方法,把自己提供的服务放在一个公共的接口库中,然后每个组件都去依赖这个公共接口库,然后页面跳转,就是通过一个路由来进行跳转。
那么我的想法就是将这两个库结合起来,将DDComponentForAndroid 库的组件交互和页面跳转给去掉,加入ARouter,利用ARouter来做这两件事情,其实组件交互,也是提供接口,只要我们知道了接口,利用ARouter就能进行交互了。页面跳转更不用说了,只要定义好名字和参数,那么我们就能跳转过去了。利用这两个库,应该能够满足大部分的需求了吧
相关文章推荐
- 关于前端组件化开发的一点思考
- 关于单例模式的一点思考
- 关于调用复杂的soa服务治理的一点思考
- 关于12306的一点思考
- 关于对象之间通信的一点思考
- 关于抽象类和接口中含有相同方法的实现的一点思考
- 关于微软最近黑屏盗版操作系统的一点思考
- 关于Java中static的一点思考
- 关于多线程的一点思考
- 关于定时任务的一点思考
- 《SICP》读后感:关于软件本质的一点思考
- 关于船舶建造系统的一点思考
- 关于strlen的一点思考
- 关于华为的一点笔记和思考 推荐
- 关于高级编程语言的一点思考
- 关于socket的一点思考——外网连接内网?
- 关于为什么要使用脚本引擎与脚本的一点思考
- 关于程序维护、修改的一点迷惑和思考
- 关于SAP物流和供应链模块发展的一点思考
- 关于研发框架实现模式的一点思考