路由框架小结
最近看了很多的路由框架,发现还是又很多其实自己没有用过的一些东西。
例如:
- 注解,如何去写一个注解。实现一个注解的逻辑。
- 解耦的思想如何实现。
- 如何实现一个框架的开源。
- 如何实现一个组件化的东西。
- 从现有业务中抽出组件
对比一下其他的框架:
Router https://github.com/chenenyu/Router
- 简单(看源码就知道了~)
- 面向接口设计,链式调用,api友好
- 结果回调,每次跳转都会回调跳转结果
- 编译期处理注解,不影响运行时性能
- 自定义路由表,除了可以使用注解定义路由,还可以手动分配路由
- 自定义拦截器,可以对路由进行拦截
- 自定义路由匹配规则,相比较其他路由框架,该项目并没有写死路由的匹配规则,除了内置的几个匹配器,用户完全可以定义自己的规则
- 支持隐式Intent跳转
- 支持组件化
- 支持jack编译链(google已放弃jack)
- 不仅支持注解Activity,还支持注解Fragment
- 支持加固
- 跳转速度媲美原生方式
- 可以很容易修改成自己定制的路由框架
路由其他框架对比
http://www.jianshu.com/p/8a3eeeaf01e8
其中印象最深的是下面的一副图片
image.png
其实想太多并不好
这几天一直在思考,为什么要做一个好的路由,去适配所有的情况呢?
我们现在的项目代码,用了很多新的技术,新的方案。所以要怎么适配整个方式呢?其实,不用适配所有的,因为只有自己合适的才是最好的。
我们的代码涉及到了与RN的交互和H5的交互,这两个就会让我们的路由和其他的路由有一定的区别。因此我就在想我们要做这么高大全的路由吗?还是走我们自己的社会主义特色的路?后面仔细想了一下,符合项目情况,符合中国国情,还是走社会主义特色路线。
因此我这两天就在做抽离项目中关于Router的情况。发现只有合适自己项目的才是最好的。
最后还有一句话,不要过度设计,先做出来看看合适不合适!简单实用是写代码的第一步原则!
网友评论