基于Kotlin + Jetpack全家桶+协程开发的mvvm组件化脚手架 :)
stack:MVVM/Kotlin/DataBinding/协程/Retrofit2/ViewModel/LiveData/Room/Koin/ARouter/Qmui
- kotlin
- mvvm
- Lifecycles:它持有关于组件(如 Activity 或 Fragment)生命周期状态的信息,并且允许其他对象观察此状态
- ViewModel:以注重生命周期的方式管理界面相关的数据,为Activity 、Fragment存储数据,直到完全销毁;
- LiveData:不用手动控制生命周期,不用担心内存泄露,数据变化时会收到通知,与ViewModel的组合使用可以说是双剑合璧,而Lifecycles贯穿其中;
- DataBinding:将布局组件与源数据绑定,使源数据变化的同时布局组件及时同步更新,与ViewModel、LiveData、Lifecycles搭配使用,能够碰撞出极致的MVVM火花
- Room:流畅地访问 SQLite 数据库;
- Koin: 是一个用于kotlin的实用型轻量级依赖注入框架,采用纯kotlin编写而成,仅使用功能解析,无代理、无代码生成、无反射。koin 是一个DSL,一个轻便的容易和一个使用的API。从此告别Dagger2的困境,让依赖注入更加简单。
- 协程:使用Rxjava 处理不好的话会有内存泄露的风险,我们会用使用AutoDispose、RxLifecycle等方式来处理,但是使用协程来请求数据,完全不用担心这个问题,所有请求都是在viewModelScope中启动,当页面销毁的时候,会统一取消,不用关心这个问题了。
- 登录+主页
- npm:使用npm脚手架下载,可以自定义项目包名,比git clone 手动修改包名方便许多
npm install -g generator-mvvm-cli-zjx
npm install -g yo
Then generate your new project:
mkdir NewApp
cd NewApp
yo mvvm-cli-zjx