程序员周边产品学习笔记

打造一款开源的Android平台的Github客户端

2016-09-07  本文已影响8284人  anly_jun

网上有云, Github是程序员的facebook.

这个一个非官方的, 开源的, 基于Github Api的的一个Android平台的Github客户端App.

GithubApp

目前名字还没有想好, 欢迎大家留言提供:)

来由

起初写这个App是为了作为博文的实例, 后来发现自己也有些实际需求, 例如经常会刷下github的trending, 来看看技术的趋向, 流行的库等.

另外, 个人一直对Github提供的完全符合RESTful架构的API深有兴趣, 认为其对于API开发, 后台架构, 客户端接口设计都有借鉴意义, 故而很想深入了解之.

故而写了这个App.

预览

githubapp.gif

技术点

  1. 使用MVP架构

    所谓架构, 应该是一种思想, 而非固定模式. MVP, 每个人实现的方式也可能略有不同.
    具体请查看开发过程中相关博文.

  2. 引入Dagger2依赖注入来解耦

    M-P-V之间使用注入方式解耦, 分层. 具体请查看开发过程中相关博文.

  3. RxJava + Retrofit + OkHttp的异步RESTful网络请求架构

    • 异步请求
    • 网络缓存实现
  4. 用了很多成熟的轮子, 例如Glide, ButterKnift, Looger等, 具体请查看第三方库.

功能点

v0.1

  1. 每日Trending列表, 根据语言, 目前包括:
  1. 各大技术平台的最多star列表, 目前包括:
    • android
    • iOS
    • python
    • web
    • php
  2. 根据关键字搜索Repo, 可以选择语言分类.
  3. Github帐号登录.
  4. 个人/用户 信息展示, 包括:
    • 基本信息
    • 用户的Repos
    • 用户Starred的Repos
    • 用户的Following列表
    • 用户的Follower列表
  5. Repo详情, 包括:
    • 仓库基本信息(名字, 介绍, 作者, Star数, 语言分类)
    • 贡献者列表(Contributors)
    • Forks列表
    • Code展示
    • Readme展示
  6. Star/Unstar某个Repo.
  7. Settings/About/Version
  8. 分享功能, 集成ShareSDK(待完善各平台)
  9. Crash收集, 集成腾讯Bugly.

开发过程

MVP系列

包括MVP架构实现, Dagger2注入以及RxJava + Retrofit + OkHttp的网络请求架构等.

  1. MVP架构实现的Github客户端(1-准备工作)
  2. MVP架构实现的Github客户端(2-搭建项目框架)
  3. MVP架构实现的Github客户端(3-功能实现)
  4. MVP架构实现的Github客户端(4-加入网络缓存)

App优化系列

  1. 背景:Android App优化, 要怎么做?
  2. App优化之性能分析工具
  3. App优化之提升你的App启动速度之理论基础
  4. App优化之提升你的App启动速度之实例挑战
  5. App优化之Layout怎么摆
  6. App优化之让你App流畅起来
  7. App优化之内存分析工具
  8. App优化之内存泄露怎么解
  9. App优化之持久电量
  10. App优化之如何高效网络请求

第三方库

网络相关

Rx

快速开发

注入

图片加载

辅助

UI

最后

  1. 这个App还没有名字呢, 欢迎留名.
  2. 用户引导界面的图片也没有找到合适的, 欢迎留图.
  3. 目前这个还是个0.1的版本, 功能并不完善. 欢迎大家star, fork, PR, 或是提出需求来让它变得更好.

GithubApp

联系我

Blog Github 简书 Gmail

另外

有同学问有没有apk直接下载, 请看这里

求赐名啊, 留言吧~~

上一篇下一篇

猜你喜欢

热点阅读