前言
我是一个非常非常懒的人,怎么懒呢?比方说要将 100 个字符串整点啥东西改成另外 1 个东西,手写替换是不可能手写的,只要涉及到经常要手写的就很烦,宁可画半个小时写正则替换,绝不手写,最笨效率最低但也是不大会出错的方法。
同时作为一名增删改查 crud工程师,每天要调试几十个接口。有一天我打开一个别人写的保存接口,居然有上百个字段,彻底懵了,下次完蛋了造数据得死。对了一开始我用 postman ,后来觉得有点难用,后来用 mac 上面的 paw ,现在叫Rapid Api,确实非常简捷,但是后面 Postman 发展迅速,就又用回来了。
但关键是我不喜欢手写,所以寻思着用意念搞点事情。当时为了不想手写Rap2的接口文档于是搞了一个Rap2 Generate,这个是创作 Fast Request 之前的一些积累。在闲的时候想把这个项目转到 IDEA 里面,最后发现好难,放弃了。
准备工作
但有一阵子我实在太闲了,闲的发慌(在完成任务以后)。于是乎又想到了之前一直要手写 API 中 100 个字段的 Body ,实在太痛苦,就开始想搞个自动生成参数的工具。当时有 RestfulToolkit ,但是满足不了需求而且停更了,于是乎想着搞个啥玩意,可以快速请求 API ,至少先能生成 100 个字段的参数吧。当天我创建了一个项目,就叫Fast Request。
前几天啥都没搞,一直在写参数生成的逻辑,参考了 Rap2 Generate 的一些解析逻辑。发现用正则来做解析实体类,简直就是一堆屎,突然发现 IDEA 里面有关于一些PSI相关的文档,同时也参考了一些实体类转 JSON 生成的一些插件。然后就坑此坑次开始写解析的逻辑。写得太投入被领导发现了,领导说:"你在写啥,什么玩意,Fast Request 什么项目,业务都清楚了么",被 PUA 半个小时。我想说,写 crud 多了有时候真的有点腻,想玩点有点意思的。当天我暗暗下定决心,一定要搞个神器出来,干死你。
艰难的开始
本着“干死你”的理念,我开始创作了。搞一个 IDEA 插件真的太难了,只有这些文档,其他的自己 Google ,自己看文档,自己看源码。前期太难了,没人教。还好当时参考了阿里大神写的Easy Javadoc,也提交了一点 PR 熟悉了一些代码,比起一点都没至少有项目可以参考了,很多小白选手至少参考。于是乎,我差不多花了 1 个多月,第一个版本成了,啥都没,就点一下生成参数到 console ,跟你下面看到的界面简直差了 10 万个版本
UI 这一块,我比较注重。我出了很多个版本的界面,不停的优化,同时参考了 JetBrains 的 UI 设计规范以及其他的例如JetBrains 设计准则,所以励精图治得改,改界面,加功能,UI 风格保持一致。最后界面也越来越受到大家的认可。随着 JetBrains 新 UI 的到来,插件也打造了跟新 UI 风格一致的界面,保持整体简洁大方。
在这个过程中,功能的开发也确实难,在 Swing 基础很差的情况下,想要搞一个全是由 Swing 组件构成的工具,简直就是痴人说梦,于是我又查了很多关于 Swing 的资料以及 demo ,这边有很多例子需要的同学可以参考。整个前期真的没有周末,周末都是干到晚上 11 点以后,搞这个插件真的太累了,又太兴奋了,学了很多知识。合理运用了很多时间去学习技能。
最后随着一步一个脚印,我的插件慢慢有了用户,同时用户也会给我一些反馈,前期自己的灵感占了 90%,用户给我提一些问题,又可以解决一些常见的痛点。功能越来越丰富,同时也参考了 Postman 的一些功能,设计一些必要的功能,毕竟它是业界最优秀的 API 调试工具值得学习。但是插件要做到的不只是发送请求这么简单,还要跟代码结合,做一些更加有优势的功能,那就是能让用户懒的功能。我也是一直如此,毕竟 Fast Request 的格言就是“为简化 API 调试而生”。
什么很重要
打造一个能吸引人的软件,首先创意和想法很重要,需要不停的肝新功能、好功能,能直接解决用户痛点,持续输出。然后就是用户慢慢累积的过程。开发过程就是硬碰硬克服困难,很多不会的需要去研究克服,在此过程中积累经验,对后期就非常有帮助。自学能力也非常重要,得会问问题,查问题,现在又有 AI ,给工作带来不少的便利。
叫过人一起干
前期想法非常多,但是个人输出有限,就叫了一些朋友看是否有想法加入。但是每一个人似乎都挺忙,要么就是入门太难接不住,好吧,这玩意确实有点难度,我一个人承包了设计、开发、测试、网站建设、推广一条龙服务。后期随着熟练度的提升,目前感觉开发这一块一个人也基本忙的过来了。也就没有继续叫朋友来协助了,毕竟生活大于一切,像我这种投入的,生活上也是有所牺牲的,经常被女朋友骂大晚上还不睡觉,一路走来还是非常感谢家人和朋友的支持的。
倒下了
没人来帮忙,所有的一切只能单干。好家伙,别人是一个团队干一件事,我是一个人干一个团队的事。上面描述的过程可能并没那么简单,一路走来碰到了非常多的磕磕碰碰,不幸的是中途倒下过一次。由于长期劳累,坐在电脑面前工作,导致腰椎间轻微突出,在家躺了 3 天。所以我也劝解各位开发者要注意劳逸结合,千万不能太上头了,身体是革命的本钱,一定要走可持续发展的道路。这一点相信很多一路陪伴的小伙伴也知道,前期几乎一个礼拜一个版本,用户都觉得速度太快了有点刹不住车...
开始收费
相信很多开发者可能会说,插件啥都好,就是要收费。但是收费也是经过我深思熟虑的,这毕竟会对软件的推广有一定的阻碍,很少会有博主来推广付费的东西。但是积极作用更大。一个人的精力和热爱也许会时间的流逝慢慢减退,收费对我来说,也是更加对用户负责的开始,是变更加强大的开始,这也让我更加有热情去更新功能,修改 bug 。同时也感谢一路支持的朋友没有因为收费就抛弃 Fast Request 了,相信这是一个双向选择的结果。对于需要的开发者,对于工作日一天花费 3 毛多的成本来提升工作效率,相信也不多。不喜勿碰哈哈哈哈。
挑战
当前最大的挑战就是推广问题,似乎还有很多很多的开发者不知道有这么一个神器,可以一键调试接口。但是收费了似乎吓退了一波的开发者,用户起码少了三分之二以上,不过这个模式我既然开始了就不会再改变。运营推广对我来说也是没啥经验的,期间也一直在出视频教程在各大技术网站上投稿,效果一般。当然也有一些技术大咖比如 java guide 、程序员 DD 中间给软件写了几篇博文,对于 Fast Request 来说也是非常大的帮助与支持,做了一波推广,在此非常感谢。同时也希望得到更多大神与技术老铁给予相助和支持,提提意见,给一个不懂流量的技术人一点帮助,多帮忙推荐推荐 Fast Request 。
收获
目前斩获了17w的下载量,用户也非常喜欢 Fast Request 给他们带去的帮助。这一点我非常开心自己的作品被大家认可。除了经济上的一些收入,当然以下几点是非常重要的。
1.结识了一大批粉丝朋友
2.加入了 Dromara 社区,认识了一大批软件圈大佬
3.结识了一批 IDEA 社区工作者大佬,也给我提供了一些建设性意见,非常感谢
4.上过 JetBrains 中国 Bilibili 的码上道栏目直播,非常荣幸
5.无聊的时候没那么无聊了
相对比较全功能文档: https://api-buddy.cn/fast-request/guide/features/
部分功能截图↓↓↓