最近在设计Android端组件框架,背景是将一个App增加其平台能力,即能加载其他的App或者是网页App,利用其基础能力,提供对外app的接口以供调用。利用加载的app,来丰富其内容和扩展能力。老大对这个项目战略上挺看重,战术上重视度一般,所以将任务分给了新来这个部门的几个人,就开始了设计研发。
组件框架,无非是组件管理模块,Api模块,组件调用模块,交互模块,还有安全模块和统计模块。
对于组件和App的交互模块,我设想是不管针对web组件还是app组件,对外的接口尽量一致性,组件框架对外提供接口尽量简洁。于是设想app通过调用一个统一的接口,例如
Bundle sendEvent(Bundle bundle,Boolean sync)函数,和注册一个接口回调,来实现同步异步事件。bundle中,event字段就类似函数名称。这样,组件框架的具体函数实现就能得到隐藏,而bundle和url的转换是很方便的,也能实现web组件和app组件的统一。但其他同事对组件框架对外暴露的接口表示使用不方便,不如暴露一堆函数给用户使用那么快捷,利于理解。我也觉得对开发者来说,这样的调用习惯很难一下被接受,但是从设计层面来说,统一的入口函数,封装多种事件,很漂亮,然后也能实现web的和app的统一。
只是。。。。。实现为王,稳定为王,估计是不让过去了。要想利用设计的个人觉得比较完美的机制,只能对app再封装一个函数到bundle转换的接口啦~~~希望这样的化事件机制内核还是没变。
框架设计。。。。。。。。。第一次进行设计,图啊,文档啊,都从0开始学,还有很长路要走。。。。。。加油!!!!!