Code Monkey home page Code Monkey logo

easyrouter's Introduction

简介

路由在项目中用了很长一段时间了,一直用的ARouter,很早的时候,我就把ARouter里里外外研究了一番,可以说里面干货多多,但时间长了就有些记不住了,甚至一些技术点都记的混淆了。 于是便萌生了写一篇技术博客的想法,后来又觉着干巴巴的写一篇文章不足以让我认识的更深刻,就想着可否按照ARouter的**自己实现一个简单的路由框架呢?
后来,在我不断地学习推动以及参考众多资料的情况下,耗费了几个月的业余时间,终于完成了这个项目。

这个项目对你有什么帮助?

通常看来,我要理解ARouter,就要去读ARouter的源码,这当然是不错的方法,但需要花费很多的时间去理解源码,而这个项目能给你的好处是一步步有条理的指导你如何去设计路由框架、一些技术点的作用及为什么要用这些技术等等,并且重点放在讲解,直到最后设计出来一款自己的路由框架,所以说呢,干货多多,简要列举几点:

  • 首先,你可以学习到如何搭建组件化架构

  • 其次,你可以学习到apt、javapoet等框架开发利器

  • 再者,你可以手动实现自己的依赖注入框架

  • 最后,像instantrun处理、框架设计等等

项目理解推荐

既然你来了,我想我们的目的很明确,就是要从根本上理解路由。所以我推荐大家把demo clone下来在电脑上跑一遍,然后边浏览WIKI的文档边读代码,这样才能快速的理解设计的**。

文档指导,点击跳转wiki

目录:

一、从组件化引入路由设计需要满足的条件

二、通过Route注解去探究如何实现路由跳转

三、利用apt和javapoet生成路由映射文件

四、框架的设计

五、框架的初始化

六、实现路由跳转

七、为什么需要依赖注入

八、Activity的属性注入

联系我

email:[email protected] & [email protected]
微信:xsm0824mn003

easyrouter's People

Contributors

xiasm avatar luoxiaohui avatar qizewei avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.