NoHttp从0到1024 论开源项目的推广

NoHttp从0到1024 论开源项目的推广

版权声明:转载请注明本文转自严振杰的博客: http://blog.csdn.net/yanzhenjie1003

QQ交流群1:46505645
QQ交流群2:46523908
群资源有限,请不要重复加群,谢谢。

前言

  作为一个会装逼有理想有有抱负的程序猿,我写了一个开源网络框架NoHttp。当然有了项目之后就想让别人知道并且用起来,所以就要推广一下让别人知道咱的项目别人才有可能使用,所以今天就NoHttp从0到1024谈起,谈一下开源项目如何推广,希望可以帮助到像我这样的人。

NoHttp源代码托管在Github上:https://github.com/yanzhenjie/NoHttp

老习惯,先撸一张图,什么是NoHttp的1024。

NoHttp从0到1024 论开源项目的推广_第1张图片

NoHttp产生的背景

  当时正逢Android4.4发布,当时我们项目的Http模块是用HttpClient来写的,一看新的AndroidSDK中,HttpClient已经注解了弃用(@Deprecated),项目中一大篇黄色警告,我心里就方了,看了下javaDoc,Google提示用HttpURLConnection来替换HttpClient。其实这都是小事,我当时想能不能自己写一个框架,管它底层怎么弃用,我项目最起码不用改,改下框架的接口就是了(NoHttp就是,底层可以用HttpClient、HttpURLConnection、OkHttp来替换)。本着分享的精神就传到了Github上,到现在NoHttp的使用人数已经超过了1024。
  让我们一起来完善这个项目吧,让更多的开发者收益,想参加项目的同学请点击传送门。

项目要解决的问题与特性

  • 请求和下载都是队列,平均分配每个线程的资源,支持多个请求并发。
  • 支持GET、POST、PUT、PATCH、HEAD、DELETE、OPTIONS、TRACE等请求协议。
  • 支持基于POST、PUT、PATCH、DELETE的文件上传(Html表单原理)。
  • 文件下载、上传下载、上传和下载的进度回调、错误回调。
  • 多文件同时下载,上传多个文件、上传大文件,不会发生OOM。
  • 提供了五种数据缓存策略供开发者选择使用。
  • 支持取消某个请求、取消指定多个请求、取消所有请求。
  • 支持自定义Request,利用NoHttp泛型可以解析成你想要的任何数据格式(String、Json、JavaBean等)。
  • 支持Session、Cookie的自动维持,App重启、关开机后还持续维持。
  • 支持Https、自签名网站Https的访问、支持双向验证。

我们写开源项目出来不仅仅是体验撸代码的快感,当然也想真正的帮助别人解决问题吧,所以接下来就是让别人知道我们的项目——如何推广。

如何推广

  最好的方法就是写一些关于项目的介绍,最好是实际能解决问题的,比如网络框架,可以解决上传大文件、多文件、Cookie的自动持久化维持;比如下拉刷新框架,可以解决自定义头,自定义动画,自定义手势等。

  可以从一下几个方面去着手:

  • 能解决别人遇到的难题,或者其它框架不能解决的问题
  • 使用方法,教别人如何入手咱的项目
  • 关键技术点的原理剖析,叫别人如何写自己的框架

  那么方法有了就是缺少平台和渠道了,我推荐大家去一下几个网站:

  • CSDN博客:http://www.csdn.net/
  • 伯乐在线:http://www.jobbole.com/
  • 简书:http://www.jianshu.com/
  • 博客园:http://www.cnblogs.com/
  • Android Bus:http://www.apkbus.com/
  • Android EOE社区:http://www.eoeandroid.com/

  在上面的地方把文章写好了在以链接的形式分享到其它平台:

  • 掘金:http://gold.xitu.io/
  • 开发者头条:http://toutiao.io/
  • 干活集中营:http://gank.io/
  • 极客头条:http://geek.csdn.net/

  写了文章千万记得放上你项目的源码连接,引导用户到项目主页了,那么接下来就看你的README.md如何编写了。

ReadMe编写技巧

  README就是我们项目的门面,一定要做的很高大上。

  • 如果你的框架是View的,最好放上gif图演示,如果有Logo就更好了。
  • 如何使用,提供gradle依赖方式、jar包下载连接。
  • 开头介绍特性和解决的难题。
  • 文档、文档连接等。
  • 框架需要的权限。
  • 使用的详细介绍。

框架文档和技术社区群

NoHttp官网:http://nohttp.net
NoHttp文档:http://doc.nohttp.net

  这一点也是非常重要的,首先要为开发者提供文档或者在github上写Wiki,但是每个人的精力都是有限的,所以如果不能提供文档,可以建立QQ技术交流群,比如我的群号在本文章的最上面就有。引导别人去文档或者去群里沟通,建群也能更好的帮助到别人,用框架的人也能相互交流。

群行为规范的制定

  作为一个技术群,是不允许HR和打广告的人进来的,除了技术图不能发大图,因为容易把别人的技术问题顶掉。我制定技术群行为规范,做技术的朋友都可以看看,应该会有帮助:https://github.com/yanzhenjie/SkillGroupRule。更详细的可以参考连接,这里预览下:

目的

一个好的技术群应该让群成员都有所提高,而不是浪费群成员的时间和精力。
本约定为的是营造一个良好的在线交流氛围,认识优秀的人,相互学习,相互促进,相互提高。

良好的氛围的定义

  • 积极向上的氛围。不抱怨,不愤世嫉俗。
  • 相互尊重,为人谦和,待人诚恳。
  • 禁止人身攻击。
  • 欢迎基于事实的技术讨论。严禁个人崇拜,严禁使用大神、菜鸟、膜拜等浮华的词语。
  • 技术交流群而不是成人交友群,所以禁止成人色彩的言论和贴图。

群氛围的净化

  • 在公开群号码的地方,附上这个约定的地址。新加入的成员,建议阅读此约定。
  • 请在群中使用便于输入和辨识的名称。
  • 不遵守本约定的同学,每次都给出提醒,超过3次,应该从群中移除。
  • 定期清除3个月内不发言的同学。如果有需要,请再加入。
  • 有过失行为和言论的,应该直接从群中移除。

禁止行为

  • 发布广告。
  • 只发链接,不做说明的。
  • 大量和上下文无关的贴图行为。如果是节假日,轻松一下贴个好玩的图,那完全可以有。
  • 其他经过群成员讨论,认定不合适的行为。
  • 工作日不得霸屏、刷屏、发图最高100px,宽度不限,违者禁言(技术图、节假日发图不限)。

总结

  其实做开源项目很难也很简单,简单在于写代码随便写,封装好了传到Github上做开源。难在我们要保证代码的高质量,框架的方便扩展和源码容易阅读,有注释,尽量保证没有bug,有bug要及时修复,多关注下issues别人的问题等,也就是说要负责,毕竟别人可能用在很重要的商用项目中。同时呢也秉着一个开源和分享的精神,为开源的发展共享自己的一份力量。

我叫严振杰,严振杰就是我。
严振杰的个人主页:http://yanzhenjie.com,严振杰.com,没记住的再看一眼噢。
严振杰的博客:http://blog.csdn.net/yanzhenjie1003。

版权声明:转载请注明本文转自严振杰的博客: http://blog.csdn.net/yanzhenjie1003

你可能感兴趣的:(框架,开源,推广,开源项目,NoHttp)