第一次作开源项目,从0到1024个star数量经历了一个多月的开发和维护,重新手到入门(至于以后的阶段,我也还在摸索中)。在这里我就来分享一下个人经历吧,但愿可以对想作开源可是没行动的小伙伴有所帮助。git
项目地址:https://github.com/CymChad/BaseRecyclerViewAdapterHelpergithub
最近一段时候在编写项目(APP应用)的时候使用列表控件频率很是高,写着就发现不少代码冗余了,因而就想封装一下,开始作起了代码优化,以前作过相似的优化,因而根据以前的优化经验,最终代码量获得了大幅度的优化。只要原有代码量的30%便可完成显示功能,后来随着项目需求的增长不断的完善封装,使得只须要简单的几行代码就能够完成的需求(如:添加头部尾部、添加列表动画、等等)。最终造成了一个还不错的基类,本着分享的精神就上传到了GitHub上面。框架
目的:让更多开发者加入开发,把这个项目作的更强大,使更多人受益。布局
在github上面没有查找到有知足个人需求的开源项目,我才造轮子的。优化
解决实际问题动画
优化Adapter代码(减小百分之70%代码)spa
添加点击item点击、长按事件、以及item子控件的点击事件.net
添加加载动画(一行代码轻松切换5种默认动画)事件
添加头部、尾部、下拉刷新、上拉加载(感受又回到ListView时代)ip
设置自定义的加载更多布局
添加分组(随心定义分组头部)
自定义不一样的item类型(简单配置、无需重写额外方法)
设置空布局(比Listview的setEmptyView还要好用!)
除了解决问题,还有就是让更多人知道,因此接下来就是「推广」。
个人方法是经过写做平台去推广,写一些文章关于该项目的
使用方法(便于让开发者理解它的简单使用以及强大的功能)
原理分析(让更多开发者学会它,加入开发,也能够收到更好的反馈)
我用的写做平台有(你也能够选择更多,多多益善):
写完以后再发连接到分享平台(你也能够选择更多,多多益善):
开发者头条 http://toutiao.io/
干货集中营 http://gank.io/
这些都是开发者平时比较关注的平台(你也能够选择更多,多多益善)。
推广后,开发者就会进入你的项目首页因此接下来看的就是「README.md」的编写。
个人README(英语版、中文版),它的结构:
gif案例效果
demo下载方式
框架导入方式
框架使用方式
效果(看)=》demo(玩)=》源码(用)
当开发者使用事后就要想到后续的「开发及维护」
有任何需求能够在github提issue,(bug我一般在24小时内就会解决)可是很重要的一点是,因为每一个人的精力都是有限的,作开源项目都是用的业余时间,因此要寻找小伙伴一块儿来维护项目,因此我就建了一个Q群(目前134人),让感兴趣的开发者加入进来,一块儿来完善,造成一个圈子,这样遇到问题的人多了,天然解决方法就多了,最开始也许都须要问我,可是到了如今,已经有不少成员会主动的去帮助新入群的小伙伴解决问题了,造成了一种解决问题的气氛。
入群门槛:star个人项目,为何呢?
有门槛,都有人加入的话证实加入者求知欲强。
肯定star了个人项目,确定看过源码或者用过个人项目,这样入群后才有更深刻技术的交流,群里面内容质量才可以获得保障。
选拔人才,从使用者中选择,让他们加入开发或维护,这样才能把这个东西作好作大。
帮助本身的同时,帮助了别人
结交志同道合的朋友
收获反馈,技术提高
其实作开源项目并不难(我行,你也行!)主要是要迈出第一步,而后及时接受反馈,不断知足用户需求!我建议你们都去开源实践,不管你的技术如何,分享是互联网的一种精神,献出本身的一份代码,帮助更多人吧,也许你曾经使用过别人的开源框架,而如今你也开源以一样的方式献出本身的一份力量,不管结果怎样,你总会有收获。
若是你是Android开发者,欢迎加入个人开源项目:[传送门]