针对这个困局,我的计划是采用半开源的方式,试试效果。这里的半开源,包括两大方面:
Reqable 本身是开发人员工具,开源可以给项目带来一些曝光和流量,同时也能给社区做贡献,共同成长,一举两得。
1. 模块开源
开源 Reqable 项目中的重要模块,很多都是 Flutter 生态中目前的痛点,也是我花了很大精力去完成的,这部分开源的模块会随着 Reqable 项目一起迭代和成长。只要 Reqable 项目还活着,这些仓库都会持续维护和迭代下去。
Reqable 采用了组件化开发,很多模块都是以单独仓库的形式存在,下面是项目全部的组成部分。
第一批已经开源的有三个模块:
后续我会抽时间整理下其他模块的代码和编写文档,助力 Flutter 生态越来越好!
1.1 代码编辑器
项目地址: https://github.com/reqable/re-editor
Re-Editor是一个强大的轻量级文本和代码编辑器组件,既可以作为一个简单多行文本输入组件,也可以作为一个具备基本功能的代码编辑器。
Re-Editor采用自绘而不是控件组装的方案,因此具备很高的性能,支持大文件编辑。Re-Editor解决了 Flutter 官方的TextField组件的很多痛点问题,同时还具备下面这些特性:
1.2 文本高亮
项目地址: https://github.com/reqable/re-highlight
Re-Highlight是一个强大的文本语法高亮库,可以将一个文本自动语法高亮,只需要定义好一个语法规则。当然,Re-Highlight已经内置了几十种编程语言的语法高亮规则,几行代码即可实现代码语法高亮。
Re-Highlight的实现代码全部由Dart语言编写,翻译自知名的highlightjs项目,实现思路和灵感则来自于highlight.dart项目(已停止更新维护)。Re-Highlight已同步highlightjs当前的最新版本 v11.9.0 ,并验证通过全部的测试用例,应该是目前 Flutter 生态里最强大的文本语法高亮库。
1.3 python 脚本框架
项目地址: https://github.com/reqable/python-scripting-api
Reqable 目前使用的 Python 脚本框架,基本都是 Python 代码,对 Flutter 社区的贡献倒不大,所以不多介绍,熟悉 Python 的可以看看。
2. 云服务开源
目前几乎所有的 API 相关软件都是靠云服务收费,我也这么想过,但是还是放弃了。我觉得 Reqable 需要做一些改变,将云服务完全开源,主要考虑下面几点:
数据安全。几乎所有上规模的企业都注重数据安全,将非常重要的 API 数据放到第三方服务器是不现实的,所以很多竞品都是靠私有部署来收费。但是很多小公司或者个人,根本付不起私有部署的成本。所以,我的想法是反其道而行之,云服务免费,并支持自由部署,用户只需要一台服务器。
技术栈。Reqable 项目目前只有我一个人在开发,除了开发客户端,还要做网站开发、运营推广、运维、客服等等,真的忙不过来。而且,我可以拍胸脯说我精通客户端,这个没问题,但是让我说精通服务端,那就真扯淡了。
关于云服务项目,还在计划和筹备中,目前暂定的是Levi大佬会和我一起开发,当然也是由 Levi 主导,这里要感谢 Levi 的支持。
项目地址: https://github.com/reqable/restapi-cloud-server
结语
今年再接再厉,让 Reqable 随着社区一起成长吧!