跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 我的开源项目在五个月内超过了 600 star
未分類
9 1 月 2021

我的开源项目在五个月内超过了 600 star

我的开源项目在五个月内超过了 600 star

資深大佬 : DtFlys 2

其实我在 2016 年年底就开始写了这个项目:Forest,一个能够将 HTTP 的所有请求信息(包括 URL 、Header 以及 Body 等信息)绑定到您自定义的 Interface 方法上,能够通过调用本地接口方法的方式发送 HTTP 请求的 Java 框架。

  • 项目仓库: https://gitee.com/dt_flys/forest
  • 项目首页: http://forest.dtflyx.com

而当时并不知道有 Feign 的存在,Retrofit 也只是听说在 Android 上使用的类似框架,在 Java 后端没有相应的、能和 Spring 或 SpringBoot 良好集成的对应物。只能老老实实用 HttpClient 进行包装,导致我们公司项目有各种各样对 HTTP 千奇百怪的工具类封装,大多只要工具类的作者知道怎么使用。由于要大量请求第三方 Restful 服务,一段时间之后,各种第三方服务的 URL 变得难以管理,靠一个配置文件难以 hold 住各种不同的请求方法、有 Head 传参、有 Body 传参、有 JSON 格式、有 XML 格式。

所以我当时的需求很简单:有这样一个框架,能统一管理项目中所有第三方 URL 接口,不管是 HTTP 还是 HTTPS,是 JSON 还是 XML,是传 Query 参数还是 Body 表单数据,都能用一种统一且优雅的方式给描述出来,还能让不同的开发人员一目了然地知道这些接口是做什么的,url 是什么、body 是什么一看便知。

MyBatis 正好在这时候是国内最火的时候,JPA 也有用过,我就自然而然想到了用 Java 接口 + 注解的方式。接下来花了 1 个月就将 Forest 第一版就写好了,然后用它写了自己项目部分网络请求部分,之后便在公司内部推广开了,其中也是不断碰到问题不断解决的过程。

之前做开源 5 、6 年了,但真正入门,关于如何运营一个开源项目还是这最近 4 个月的事。 一开始只是将项目放到 Github 、Gitee,然后发一篇推广文就结束了,不知道后续工作要做什么,也不想去做。 所以几年来项目几乎无人问津、一直处于将死不死的状态。

直到 2020 年 7 月份开始,才意识到这样下去是行不通的。开源的关键还在于社区,需要有一个不断向你反馈问题的管道。于是开通了微信群,通过适当的推广不断有人加入进来,不断有人提出问题,不断反馈 BUG,我便引来了高考后最繁忙的几个月。进入到这样一个正向循环后会感到很忙、很累,每天都有解决不完的问题,上班完成公司工作之后,晚上要维护更新开源项目到凌晨 2 、3 点。但带来的收获也是可观的,除了见证了 Forest star 数的增长,也感受到了自身的成长,虽然没有经济利益上的收益(还要贴钱进去 〒▽〒)。但能看到自己的工作能带给其他程序猿价值,也是种无法言语的成就感。

哈哈,感谢看了我那么多废话,如果 Forest 对您有帮助,请 star 一下哦~

大佬有話說 (31)

  • 資深大佬 : kaka6

    优秀优秀

  • 資深大佬 : vus520

    高中弟弟?

  • 資深大佬 : haosamax

    up!

  • 資深大佬 : monetto

    @vus520 主说的是这是高考之后以来的最忙的事。理解力啊老哥。

  • 資深大佬 : young1lin

    为什么你们的那几个 Factory 类,有些用 System.out.println 输出日志,还有代码注释掉不删的呢….是有什么特殊的地方吗? ForestSSLConnectionFactory 、HttpclientForestResponseFactory

  • 資深大佬 : bryan31

    牛逼,已 star

  • 主 資深大佬 : DtFlys

    @young1lin System.out.println 准备删掉了,只留下 log.info 输出的的日志

  • 資深大佬 : young1lin

    @DtFlys 感觉整合 Spring 的那个,和 MyBatis 整合的差不多,也是 FactoryBean + 间接继承 ClassPathScanningCandidateComponentProvider 。不过 MyBatis 是自己定义 Log 类的,Spring 是用 Apache 的 Log 类,你们是依赖 Slf4j 。

  • 資深大佬 : foxcell

    这玩意好,最近写一些 http 请求,挺烦的

  • 主 資深大佬 : DtFlys

    @young1lin 对的,被你一眼就看出来了

  • 資深大佬 : moonrailgun

    我比较关心适当的推广是什么推广

  • 資深大佬 : tikazyq

    我会告诉你我的项目 1 个月内 1k stars 么 😀

  • 主 資深大佬 : DtFlys

    @tikazyq 牛逼啊大佬

  • 資深大佬 : hefish

    是个好东西,star 了。最近想搞清楚 java 的注解,但年纪大了,搞了几天都没法完全搞懂。等空下来继续搞。谢谢 lz 。

  • 主 資深大佬 : DtFlys

    @hefish 谢谢 star

  • 資深大佬 : AndyAO

    自己的工作能够被别人认可

    是个令人感到愉快的事情

    谢谢你分享这些宝贵的经验

  • 主 資深大佬 : DtFlys

    @AndyAO 过奖了,我也只是扯一些自己的浅见,比我厉害的大佬多的是

  • 資深大佬 : ArJun

    竟然不放到 github 的哦,这么大的交友网站都不用

  • 主 資深大佬 : DtFlys

    @ArJun 有放到 github: https://github.com/mySingleLive/forest
    只不过重心还是在 Gitee

  • 資深大佬 : lzuntalented

    厉害呀,我的开源快两年了只有 300 星

  • 主 資深大佬 : DtFlys

    @lzuntalented 不错了,我的项目在 gtiee 上也有 2 年多时间了,但真正的增长是近几个月才有的,之前 2 年多只有 100 不到的 star

  • 資深大佬 : PoetAndPoem

    部署,上手快吗

  • 主 資深大佬 : DtFlys

    @PoetAndPoem 照着文档做,啪的一下,很快的

  • 資深大佬 : faqqcn

    这个文档的对比度太高了,刺眼睛

  • 資深大佬 : Helsing

    Retrofit 就是设计给 Java 用的,底层是用的 okhttp,Android 要加别的库才可以使用

  • 資深大佬 : gaoyujian2015

    请教下主怎么做早期的宣传推广,最近也想把一些项目开源但是不知道怎么宣传

  • 資深大佬 : yazoox

    又有需要学习的了

  • 資深大佬 : LowBCoder

    是不是相当于于 SpringBoot 版本的 Feign ?

  • 主 資深大佬 : DtFlys

    @Helsing 是的,我后来也有所了解,不过 Retrofi 和 SpringBoot 没有直接的集成,不过最近有个国内的小伙做了 retrofit-spring-boot 也挺好的

  • 主 資深大佬 : DtFlys

    @LowBCoder Feign 本身就可以和 SpringBoot 集成,当然也可以不集成,不过 Feign 更多的是用来微服务领域作为 RPC 框架。

  • 主 資深大佬 : DtFlys

    @gaoyujian2015 首先需要把文档写好,不但要写的详细,还是写的简单易懂,容易上手,最好能配合一些上手的 Demo 更好。此外再是写一些文章介绍你的项目,投放到一些流量高的平台,至于文章写得好不好就看你本事了。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具