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

简介:

image

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

image

为什么做这个项目?

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

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

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

切入点

解决实际问题

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

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

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

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

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

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

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

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

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

推广

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

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

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

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

CSDN http://www.csdn.net/

简书 http://www.jianshu.com/

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

掘金 http://gold.xitu.io/

开发者头条 http://toutiao.io/

极客头条 http://geek.csdn.net/

干货集中营 http://gank.io/

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

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

README(自述文件)

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

gif案例效果

demo下载方式

框架导入方式

框架使用方式

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

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

开发及维护

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

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

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

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

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

开源项目的好处

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

结交志同道合的朋友

收获反馈,技术提升

总结

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

相关文章
|
6月前
|
自然语言处理 Java Go
项目总监必看:如何利用Git深度统计团队代码贡献?多语言实践教程揭秘!
项目总监必看:如何利用Git深度统计团队代码贡献?多语言实践教程揭秘!
158 0
|
设计模式 JSON 前端开发
我的开源项目与开源经历分享
一位93年的前端开发者从一个开源门外汉变成了一个开源发起者,项目已经1K+ Star,分享一下自己的开源项目和开源历程,供大家参考。
|
资源调度 关系型数据库 Shell
手把手教你如何参与开源项目的协作、贡献代码: 以PolarDB开源项目为例
开源协作是一种社会进化的体现吗? 昨天体验了一下ChatGPT, 对这几个回答深有感触, 开源协作一定是未来会长期存在的, 更大规模化的人类协作模式. 所以我想写一点东西, 来帮助更多人参与开源协作.
1223 3
手把手教你如何参与开源项目的协作、贡献代码: 以PolarDB开源项目为例
|
开发工具 git 开发者
向开源项目贡献代码那点事
向开源项目贡献代码那点事
126 0
|
测试技术 开发工具 git
【手把手指导】给开源项目贡献代码
很多新人学习了技术,但是没有地方施展。
294 0
【手把手指导】给开源项目贡献代码
|
安全 Unix Java
82天突破1000star,项目团队梳理出软件开源必须注意的8个方面
本文整理了项目开源的各种记录事项,希望给今后开源的项目做参考。
|
程序员
自然框架开源社区,如何开展活动
  大家真给力呀,一上午的时间,第一个群就满了,幸好“雪狼”又提供了一个群(113983952)。但是群再多也架不住大家的热情,所以要加快建立自然框架开源社区的网站的进度了,在这个网站里大家可以做很多很多的事情了。
814 0
|
存储 开发者
成功运作一个开源项目的15个要点
运作开源项目很容易。所有你需要做的就是让你的源代码可用和开源,对吧?嗯,也许。其实,开源项目是否成功取决于你对项目成功的定义。且不论你是怎么定义的,创建开源项目需要大量的工作。如果你已经有了目标,那么你需要准备投资。
1407 0
|
JavaScript 前端开发