Giter VIP home page Giter VIP logo

simple-android-opensource-framework's Introduction

Android著名开源库的简版实现

简述

该项目通过分析并实现Android平台知名开源框架的简单版本来提升自我,并达到深入理解各大开源库的核心原理的目的。稳定、强大的开源库一般都较为复杂,比如Universal-ImageLoader,因此简版开源库不需要完全按照原版来实现,只需要把核心架构、原理实现,并且做到可运用到实际项目中即可。在实现开源库简版的同时,作者需要写一系列文章来剖析它的实现原理以及为什么要这么设计,在提升自我的同时将框架的设计与实现、领悟分享给他人,希望大家在提升自我的同时对行业做出一些贡献。

Android平台有很多优秀的开源库,如果你对这些还不是很了解,可以参考Trinea的android-open-project列举的知名开源库。对一些知名开源库的分析请参考Trinea的android-open-project-analysis

我想在你了解了一些开源库,并且学习了Trinea的对开源库分析的文章之后对于开源库的核心技术就有了一定的了解。此时你可以利用这些基础来重复造这些轮子,这些轮子不必很完善、稳定,只需要展示它的核心原理、设计,并且可用即可。这样从实战中学习这些开源库,不仅能够提升技术,也能够学习这些开源库的优秀设计。

如果你对面向对象不是很了解,那么在开始之前先学习一下面向对象的六大原则是非常有必要的。

QQ交流群: 413864859,希望大家踊跃参与进来。

库的所属种类

开源库类型 文件夹
网络请求 network
数据库 orm
图片加载 imageloader
view view
注入框架 inject
兼容库 compatibility
事件总线 eventbus
其他 others

开发规范简述

code-style.md

如何参与

  1. 通过git将本库clone到本地;
  2. 首先将自己要实现的库、完成时间(包括设计与实现的第一篇概括性文章的完成)等填写到任务表中;
  3. 在对应分类下创建库的目录,例如SimpleVolley,写代码实现开源库的简版,这个简版库需要可用;
  4. 创建一个demo到该库的目录下,例如你要完成的库是SimpleVolley,那么你的demo的路径则为SimpleVolley/demo;
  5. 将文章的图片统一放到库名/images目录下,例如SimpleVolley/images;
  6. 按照template.md完成库的基本介绍,并且在后续的文章中对库进行详细分析。如果没有后续文章那么建议在该介绍文件中对库的核心实现、设计进行详细分析。
  7. 完成之后提交,并且push到该仓库当中。

注意,在开发过程中不要修改不属于自己的文件,避免在协作时产生冲突。

任务表

一期任务

原开源库名称 简版开源库名称 作者 分类 预计完成时间 进行状态
Volley SimpleNet Mr.Simple 网络请求 2015.3.5 文档未完成
ImageLoader SimpleImageLoader Mr.Simple 图片加载 2015.3.15 代码完成
AndroidEventBus AndroidEventBus Mr.Simple 其他 2015.3.25 代码完成
okhttp 这里填写简版库的链接 CodeLife 网络请求 2015.4.10
Retrofit SimpleRetrofit tiny-times 网络请求 2015.4.10

simple-android-opensource-framework's People

Contributors

hehonghui avatar

Watchers

suiyuchen avatar 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.