路由框架小結(jié)
最近看了很多的路由框架,發(fā)現(xiàn)還是又很多其實(shí)自己沒有用過的一些東西癣籽。
例如:
- 注解,如何去寫一個(gè)注解。實(shí)現(xiàn)一個(gè)注解的邏輯筷狼。
- 解耦的思想如何實(shí)現(xiàn)瓶籽。
- 如何實(shí)現(xiàn)一個(gè)框架的開源。
- 如何實(shí)現(xiàn)一個(gè)組件化的東西埂材。
- 從現(xiàn)有業(yè)務(wù)中抽出組件
對(duì)比一下其他的框架:
Router https://github.com/chenenyu/Router
- 簡(jiǎn)單(看源碼就知道了~)
- 面向接口設(shè)計(jì)塑顺,鏈?zhǔn)秸{(diào)用,api友好
- 結(jié)果回調(diào),每次跳轉(zhuǎn)都會(huì)回調(diào)跳轉(zhuǎn)結(jié)果
- 編譯期處理注解俏险,不影響運(yùn)行時(shí)性能
- 自定義路由表严拒,除了可以使用注解定義路由,還可以手動(dòng)分配路由
- 自定義攔截器竖独,可以對(duì)路由進(jìn)行攔截
- 自定義路由匹配規(guī)則裤唠,相比較其他路由框架,該項(xiàng)目并沒有寫死路由的匹配規(guī)則莹痢,除了內(nèi)置的幾個(gè)匹配器种蘸,用戶完全可以定義自己的規(guī)則
- 支持隱式Intent跳轉(zhuǎn)
- 支持組件化
- 支持jack編譯鏈(google已放棄jack)
- 不僅支持注解Activity,還支持注解Fragment
- 支持加固
- 跳轉(zhuǎn)速度媲美原生方式
- 可以很容易修改成自己定制的路由框架
路由其他框架對(duì)比
http://www.reibang.com/p/8a3eeeaf01e8
其中印象最深的是下面的一副圖片
其實(shí)想太多并不好
這幾天一直在思考竞膳,為什么要做一個(gè)好的路由劈彪,去適配所有的情況呢?
我們現(xiàn)在的項(xiàng)目代碼顶猜,用了很多新的技術(shù),新的方案痘括。所以要怎么適配整個(gè)方式呢长窄?其實(shí),不用適配所有的纲菌,因?yàn)橹挥凶约汉线m的才是最好的挠日。
我們的代碼涉及到了與RN的交互和H5的交互,這兩個(gè)就會(huì)讓我們的路由和其他的路由有一定的區(qū)別翰舌。因此我就在想我們要做這么高大全的路由嗎嚣潜?還是走我們自己的社會(huì)主義特色的路?后面仔細(xì)想了一下椅贱,符合項(xiàng)目情況懂算,符合中國國情,還是走社會(huì)主義特色路線庇麦。
因此我這兩天就在做抽離項(xiàng)目中關(guān)于Router的情況计技。發(fā)現(xiàn)只有合適自己項(xiàng)目的才是最好的。
最后還有一句話山橄,不要過度設(shè)計(jì)垮媒,先做出來看看合適不合適!簡(jiǎn)單實(shí)用是寫代碼的第一步原則!