我的开源项目从0到1024的过程

我的开源项目从0到1024的过程_第1张图片

第一次做开源项目,从0到1024个star数量经历了一个多月的开发和维护,从新手到入门(至于之后的阶段,我也还在摸索中)。在这里我就来分享一下我的经历吧,希望能够对想做开源但是没行动的小伙伴有所帮助。

项目地址:https://github.com/CymChad/BaseRecyclerViewAdapterHelper

我的开源项目从0到1024的过程_第2张图片

为什么做这个项目?

最近一段时候在编写项目(APP应用)的时候使用列表控件频率非常高,写着就发现很多代码冗余了,于是就想封装一下,开始做起了代码优化,之前做过类似的优化,于是根据之前的优化经验,最终代码量得到了大幅度的优化。只要原有代码量的30%即可完成显示功能,后来随着项目需求的增加不断的完善封装,使得只需要简单的几行代码就可以完成的需求(如:添加头部尾部、添加列表动画、等等)。最终形成了一个还不错的基类,本着分享的精神就上传到了GitHub上面。

  • 目的:让更多开发者加入开发,把这个项目做的更强大,使更多人受益。

在github上面没有查找到有满足我的需求的开源项目,我才造轮子的。

切入点

解决实际问题

  • 优化Adapter代码(减少百分之70%代码)

  • 添加点击item点击、长按事件、以及item子控件的点击事件

  • 添加加载动画(一行代码轻松切换5种默认动画)

  • 添加头部、尾部、下拉刷新、上拉加载(感觉又回到ListView时代)

  • 设置自定义的加载更多布局

  • 添加分组(随心定义分组头部)

  • 自定义不同的item类型(简单配置、无需重写额外方法)

  • 设置空布局(比Listview的setEmptyView还要好用!)

除了解决问题,还有就是让更多人知道,所以接下来就是「推广」。

推广

我的方法是通过写作平台去推广,写一些文章关于该项目的

  • 使用方法(便于让开发者理解它的简单使用以及强大的功能)

  • 原理分析(让更多开发者学会它,加入开发,也可以收到更好的反馈)

我用的写作平台有(你也可以选择更多,多多益善):

写完之后再发链接到分享平台(你也可以选择更多,多多益善):

这些都是开发者平时比较关注的平台(你也可以选择更多,多多益善)。

推广后,开发者就会进入你的项目首页所以接下来看的就是「README.md」的编写。

README(自述文件)

我的README(英语版、中文版),它的结构:

  • gif案例效果

  • demo下载方式

  • 框架导入方式

  • 框架使用方式

效果(看)=》demo(玩)=》源码(用)

当开发者使用过后就要想到后续的「开发及维护」

开发及维护

有任何需求可以在github提issue,(bug我通常在24小时内就会解决)但是很重要的一点是,由于每个人的精力都是有限的,做开源项目都是用的业余时间,所以要寻找小伙伴一起来维护项目,所以我就建了一个Q群(目前134人),让感兴趣的开发者加入进来,一起来完善,形成一个圈子,这样遇到问题的人多了,自然解决方法就多了,最开始也许都需要问我,但是到了现在,已经有很多成员会主动的去帮助新入群的小伙伴解决问题了,形成了一种解决问题的气氛。

入群门槛:star我的项目,为什么呢?

  • 有门槛,都有人加入的话证明加入者求知欲强。

  • 确定star了我的项目,肯定看过源码或者用过我的项目,这样入群后才有更深入技术的交流,群里面内容质量才能够得到保障。

  • 选拔人才,从使用者中选择,让他们加入开发或维护,这样才能把这个东西做好做大。

开源项目的好处

  • 帮助自己的同时,帮助了别人

  • 结交志同道合的朋友

  • 收获反馈,技术提升

总结

其实做开源项目并不难(我行,你也行!)主要是要迈出第一步,然后及时接受反馈,不断满足用户需求!我建议大家都去开源实践,无论你的技术如何,分享是互联网的一种精神,献出自己的一份代码,帮助更多人吧,也许你曾经使用过别人的开源框架,而现在你也开源以同样的方式献出自己的一份力量,无论结果怎样,你总会有收获。

如果你是Android开发者,欢迎加入我的开源项目:[传送门]

你可能感兴趣的:(android,github)