VettelGank

Project Url: V1sk/VettelGank
Introduction: Vettel's Gank 是基于 gank.io 开放 Api 实现的一款非官方干货集中营客户端。
More: Author   ReportBugs   
Tags:

Vettel's Gank 是一款完全使用 Kotlin 作为编程语言实现的 干货集中营 客户端。本项目展示了一些 Kotlin 的优秀语言特性,并且分别使用 MVP、MVVM 两种方式来实现;使用了 Jetpack 中的 Architecture Components 以及 AndroidX,你可以 Checkout 到不同分支来对比它们之间的实现区别。

Room、LiveData、ViewModel、Paging、DataBinding 这些库怎么结合起来使用?怎样用 AndroidX 取代 Support Library?传统 MVP 和基于 Jetpack 实现的 MVVM 有什么区别?这个 App 应该能给大家一点启发。欢迎 star/fork。

分支含义

  1. kotlin-mvp-base: 使用 Kotlin + MVP 实现的基础版本,此分支主要展示了 Kotlin 基础的使用,对于入门 Kotlin 比较友好
  2. kotlin-mvvm-jetpack: 使用 Kotlin + MVVM 实现,展示了 Android Jetpack 中架构组件的使用(包括:DataBinding、LiveData、ViewModel、 Room)
  3. kotlin-mvvm-jetpack-paging: 在 kotlin-mvvm-jetpack 基础上,增加 Paging 作为 App 分页库,可以更加优雅地加载无限列表

架构规范

效果

image

流畅的操作体验,请戳视频哦

http://cjw-blog.oss-cn-shenzhen.aliyuncs.com/vettel_gank.mp4

开源库

图标/设计

参考

Support Me
Apps
About Me
Google+: Trinea trinea
GitHub: Trinea