UDN-企业互联网技术人气社区

板块导航

浏览  : 1283
回复  : 0

[云计算] NoHttp从0到1024-论开源项目的推广

[复制链接]
舞操的头像 楼主
发表于 2016-7-2 20:59:46 | 显示全部楼层 |阅读模式
  前言

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

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

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

QQ图片20160702210353.png


  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别人的问题等,也就是说要负责,毕竟别人可能用在很重要的商用项目中。同时呢也秉着一个开源和分享的精神,为开源的发展共享自己的一份力量。

原文作者:严振杰 来源:开发者头条

相关帖子

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部