美文网首页iOS专业搬砖iOSAndroid那些事
我的开源项目从0到1024的过程

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

作者: 陈宇明 | 来源:发表于2016-05-28 11:25 被阅读12242次
    GitHub:全球最大的代码托管平台

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

    1024

    为什么做这个项目?

    最近一段时候在编写项目(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开发者,欢迎加入我的开源项目:[传送门]

    相关文章

      网友评论

      • liuyangjike:谢谢楼主, 推广一下我的项目,手把手教你如何造vue的ui库.https://juejin.im/post/5b87b5d46fb9a01a0a4ec3ee
      • 郑小民:楼主厉害,顺便推广下我的爬虫。简单可维护的爬虫,支持定时任务,批量URL,多种模式。https://github.com/Steelzheng/pikachu
      • Doikki:牛逼:+1: ,顺便推广下我自己写的视频播放器:https://github.com/dueeeke/dkplayer
      • 1289126d1753:最近 使用node.js 写了一个抓取微信文章和图片的爬虫,在github 上面 大家可以关注下
        网址: https://github.com/zgj233/weixin_article_spiders

        git clone 地址: git@github.com:zgj233/weixin_article_spiders.git
      • 简晰333:做一个有思想,有分享和开源精神的程序员 @白开水ln
      • typ0520:https://github.com/typ0520/fastdex
        最近做了一个加快Android apk生成速度的项目,效果挺好的,借楼主这个地方推广一下哈
      • 纵马横刀pro:www.recyclerview.org
        这个域名666
      • 就叫强哥吧:明哥 来看你了
      • 18388d2052dd:厉害厉害
      • billwatson:关注
      • seay:不错,值得借鉴
      • VioletJack:写的真好,一直想加入开源事业。可是总感觉自己技术不够没处添砖加瓦,到现在还只是把github当个仓库在用。如何踏出第一步 :joy:
        陈宇明:@VioletJack 把你的想法付出行动,最好的时机就是现在! :+1:
      • 西门鱼:老弟你最近快成网红了,从大神郭的公众号读过你的文章:-D
        妙法莲花1234:@陈宇明 学习了,感谢分享!
        陈宇明:@木月师兄9527 我个人是这么认为的,利用碎片化的时候学习,如:上下班回家路上的时间,而后我做的这个开源项目是和工作有关的,只不过是单独整理出来了,这样时间也不需要很多,维护和升级这一块的话就是找志同道合的朋友,每个人的时间都是有限的,但是会有一些业余时间,只要做这件事情的人多了,时间合计起来也就自然多了。编程是我的爱好,所以我下班和假期都会写代码。
        西门鱼:@木月师兄9527 还有我经常觉得时间不够用,不知道你是怎么分配时间的,做这些开源项目
      • 就叫初九吧:为什么把idea的配置文件也传上去?
        陈宇明:@邹十四 忘记配置过滤了,第一次上传还望见谅。😓
      • 逆流鲨:qingwen 怎么把工程导入到eclipse
        陈宇明:@逆流鲨 下载源码,把lib工程引入到主工程即可使用。
      • __蓝眸:66666 起飞咯 :smiley:
      • stay4it:分享也是一种提升自己的方式 :grin:
        脑袋君:@stay4it 哈哈。老大我还在学习的你的课程!
        陈宇明:@stay4it 正解,也是学习的最好方式。 :grin:
      • thisfeng:学习了,马上开启一个新项目,已经准备使用了 😊感谢您的付出,让我们学习到更多
        陈宇明:@forevershine永烽 :+1:
      • wenzhiming:小明加油!
      • lhl_012:NB,NB,NB

      本文标题:我的开源项目从0到1024的过程

      本文链接:https://www.haomeiwen.com/subject/nijfdttx.html