github

wingjay / android-open-source-project-cracking

  • среда, 4 мая 2016 г. в 03:12:08
https://github.com/wingjay/android-open-source-project-cracking

169 stars today
通过对流行的优质android开源项目分析、学习、仿写,最终理解,不仅帮你掌握最新的android技术,更能让你理解开源项目的精华之处,这些都是你成为一名高级android developer必不可少的。微信公众号 CoolCoder。Analysis for Popular & Hot Android open-source Applications & Libraries will help you grow into a Senior Android developer. Follow us, do practice in the right and fast way.



Android 优质开源项目剖析与技术进阶

本系列的文章主要面向以下几类读者:

  1. 不满足于简单使用开源库,想要通过探究其原理精进自身技术或创建自己的开源库
  2. 对于新技术RxJava等的实践处于摸索状态,希望有优质的code实例及细致分析来让你迅速上手一门新技术;
  3. 对于一些底层库网络底层库Retrofit图片加载库Picasso/Glide等实现原理保持好奇。

比起阅读枯燥文档,独自摸索一门技术的最佳实践,我们还有一种方法能够快速而稳定的精进自身的开发水平,那就是通过阅读、分析、仿写与理解优质的开源项目。

一、已有文章

Application

分析文档 作者 开源项目 介绍 添加时间
Meizhi Android之RxJava & Retrofit最佳实践 wingjay Meizhi 使用RxJava & Retrofit的sample 20160416

View

分析文档 作者 开源项目 介绍 添加时间
JJSearchViewAnim源码分析 Skykai521 JJSearchViewAnim 20160417
SwipeBackLayout源码分析 Skykai521 SwipeBackLayout 20160417
HTextView源码分析 Skykai521 HTextView 20160417

Library

分析文档 作者 开源项目 介绍 添加时间
ButterKnife源码分析 BigFootprint ButterKnife 20160423
RxPermissions源码解析 Skykai521 RxPermissions 20160417
BarcodeScanner源码分析 Skykai521 BarcodeScanner 20160417
ViewAnimator源码分析 Skykai521 ViewAnimator 20160417
uCrop源码分析 Skykai521 uCrop 20160417
Picasso源代分析 Skykai521 Picasso 20160417
EventBus 3.0源码分析 Skykai521 EventBus 20160417

二、我们会挑选哪些优质开源项目

1. 新技术

我们会挑选覆盖RxJavaReact NativeDynamic loadDaggerRetrofit等新技术的开源项目,分析总结出新技术最佳实践供读者阅读仿写,快速将新技术应用到自身项目开发中,不用反复踩坑。

2. 底层库

初级程序员会调用API、实现基本功能; 中级程序员开始封装,消除ugly代码; 高级程序员能够设计架构,重构出优雅代码。

我们会挑选一些优秀底层库,深入浅出的去分析它们的设计思想,阐述如何把这些设计思想融入到自身实际项目中。

3. 自定义View

很多人习惯了在Github寻找通用的UI库。

坏消息是,UI的变化千千万,迟早有一天我们会不得不由于自己项目的特殊性,而要自己来实现自定义view。

好消息是,自定义view虽然变化万千,但却不离其宗,而我们的分析就是尝试向你讲述如何理解自定义view的原理

三、加入我们

如果你对本项目有兴趣,你可以选择以下方式之一加入进来:

  1. 阅读者start & watch这个项目,关注微信公众号CoolCoder,我们会在第一时间推送。
  2. 写作者。如果你热爱分析开源项目,热爱分享与写作。那就挑选一个你认为优质的开源项目进行写作,创建pull request。另外,你可以在task.md里记录你准备分析的项目。
  3. 评论者。阅读中遇到问题?直接创建issue,作者会快速回答你。
  4. 翻译者。如果你还不具备分析开源项目的能力,那可以来对我们的中文文章进行翻译。这个翻译过程会让你受益匪浅的。
  5. 校对者。如果你技术过硬,愿意帮助新手程序员,可以发邮件给我yinjiesh@126.com,我相信"校对者"三个字会让很多年轻程序员记住你。

四、写作者

wingjay

达庆凯 Skykai521

BigFootprint

...