2014年9月,公司项目过于臃肿,而且遇到65536方法数超限问题。计划准备拆分模块,并通过插件方式进行在线更新。
当时我花了一个月时间,开发这个插件框架,并把搜索、聊天室、游戏等模块打成插件形成,期间项目经历了大大小小十几个版本迭代,插件框架也一直稳定运行到现在。该插件主要原理是动态代理。
插件主要开发时间是在2014年9月到10月,后续只是修复一些bug,主要精力集中在了业务开发上了。这一年半时间过来,也产生了一些新的插件技术,该框架也需要做比较大改进了。
这里我只是做一下个人记录,毕竟文章很多都是一年之前写的,有些技术也难免会落伍了,所以PluginLoader这个框架文章大家只要参考下就可以了。
2016年4月份我重新开始规划开发新的插件框架,名字叫Apker,现在已经写的差不多了,正在完善一些细节。由于最近公司业务比较忙,业余时间我会继续完善,后续会放到github上并补上技术文档,供大家参考。
与君共勉!
Apker:https://github.com/LifengMr/apker
PluginLoader:https://github.com/LifengMr/PluginLoader