我和 Tiny RDM 一起勇敢迈向了 1.2 版本 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
huangliu
V2EX    程序员

我和 Tiny RDM 一起勇敢迈向了 1.2 版本

  •  1
     
  •   huangliu
    tiny-craft 2024-08-16 14:04:44 +08:00 7025 次点击
    这是一个创建于 420 天前的主题,其中的信息可能已经有所发展或是发生改变。

    7 月份工作挺忙的,忙完之余也没剩多少时间继续更新项目了。好在还是发布了新版本,这一次它的版本号终于跳到了 1.2 。

    勇敢迈出的版本号

    由于近几个版本都是以修复老问题和优化体验为主,并没有增加明显性的新功能,所以一直扣扣搜搜徘徊在 1.1.x 。

    这种状态从春节过后不久到现在持续了将近半年,本意是希望它尽可能地稳定可靠。但后来逐渐妥协了,不存在完美的产品,很多你本想做好的方面,的确就是“心有余而力不足”。比如有个问题是 Windows 下某些机器打开直接闪退,让我很是头疼,一来它是在部分机器上才会出现,我没有这样的运行环境,二来用户也没法提供崩溃日志,不过就算能提供,我猜测大概率是 Webview 运行时兼容问题所致,自己能够操作干预的空间不大。

    承认自己能力不足,也算是一种和解吧,最起码,它在大部分用户的电脑上是正常的。这就跟你的产品不可能被所有用户都喜欢一样道理。

    把这些没法解决的问题排除掉,再把属于锦上添花的新特性排除掉,修复一批很明显甚至影响使用的错误,它大概就是我心中的 1.2 版本了。

    勇敢迈出的重写计划

    最近独立开发群的群友再次问我,Tiny RDM 的盈利模式是什么。我在电脑前苦笑着回复到:问得好,我也不知道。

    虽然一直在考虑重写一个更好的付费版本,并且已经在着手这个事有挺长一段时间了。但这并不是一件容易的事,“开源”,“桌面软件”,“程序员工具”这些标签随便一个和“商业化”组合都是高难度,更何况我居然把它们全凑一起了。其次要选择更好的替代方案,也让我头疼了挺长时间,除了 Web 以外很少有符合我要求的 UI 框架,或者说开发效率上具有如此性价比的方案。而且接触新的框架需要花费大量时间重新学习相应的开发语言和设计理念以及用法,在没有出来一个半成品之前,这真是一个乏味的过程。

    后来我决定用 Avalonia 重写,至于它是不是就是最佳方案,我觉得依然不是,如前面说的那样,不存在完美,只有你能接受妥协的方式。

    提到 Avalonia ,问题确实不少,字体渲染首当其冲,而且基于 MVVM 的架构模式用法上也很嗦,让用惯 HTML 的我好久都没适应过来。当前正在给整套控件重写主题,只为了让它的控件样式尽可能接近现版本的 Tiny RDM ,我甚至以月为单位持续投入精力。至于这件事情值不值,它本身无法衡量,也无法预测,因为最终效果应该交给用户来评价。以现今我的认知,并不能判断它的实际价值几何,没有人能预估自己做的事情每一步都是对的,而当下我能做的就是享受创作过程,在自己依然敢于承担后果的阶段。

    总之我发现自己在重写这件事上又开始像个典型程序员一样偏执了,但我坚信好事多磨,倘若今后证明这就是一条弯路,甚至是岔路,我也仍旧愿意为此买单。

    勇敢展示项目的一年

    算起来 Tiny RDM 从去年 6 月开始新建文件夹,8 月开始正式对外公开,如今刚好公开一年了。

    不得不感概,项目刚开放的时候,并没人关注它,我一度怀疑这是不是要成为失败案例了,毕竟类似开源项目早已占据用户心智。但我还是想法子通过各种途径让大家知道这个项目:在各个论坛社区介绍它,完善产品使用手册和官网,编写产品介绍文章,制作产品推广视频,尝试了多数软件产品能免费推广的方式。当然各种花里胡哨的推广背后,依然需要以一个能打动人心的产品为基石,以及追求美好的执念。

    如今项目拿到了我迄今为止人生中最多的 Star ,也被一部分人所知悉和认可。我也能如当初设想的那样,和别人聊天时厚颜无耻地吹牛道:“我是 Tiny RDM 的作者”了。虽然它还谈不上成功(很多人把一个产品的成功定义为能让创作者财富自由,或者起码不用再上班工作也能靠它养活自己了,而 Tiny RDM 开源所带来的打赏甚至不够上班半天的工资),但它至少还没失败,并且在我心中,它已然成功。

    如果你也曾怀疑过自己,最好能证明怀疑是对的,否则应该一律当做错觉处理。

    勇敢分享成果

    以前我不喜欢在网上发表东西的,一来是懒,觉得每天上班敲代码,还有两个多小时的通勤时间已经够累了;二来觉得也没什么值得或者能够发表的,毕竟长期面对冷冰冰的代码,能讨论的无非是“Golang 适不适合做桌面客户端”诸如此类的话题。

    但是近两年我也开始阅读大量书籍,学习各类开源项目,关注研究各种优秀应用,也会刻意在处理问题前做更多的思考。越是身处其中越能清醒理解,要想真正成为独立开发,并不是单单会写代码就行。

    很喜欢产品沉思录里面的一句话:人们会被自己热爱的事物改变,而没有人因为给予而贫穷。

    于是我尝试了发表分享,当然就是从“Golang 适不适合做桌面客户端”类似的话题开始。然后意有了另一番领悟,我之前的想法其实是错误的,我将因果关系弄反了:不是有所成果才能做分享,恰恰是开始分享才会去思考应有何种成果。 写文章如此,做开源如此,做产品亦应如此。相应的,人也应该是有所行动,才可能有所悟及有所得。

    至此,我觉得自己也迈进了 1.2 版本的新里程。


    最后说到这里,如果有程序员读者还不知道 Tiny RDM 是什么,允许我在这简单介绍一下:它是一个具有现代外观的 Redis 桌面客户端,旨在为开发者和运维人员提供一个更顺手的生产力工具。

    官方地址:redis.tinycraft.cc/zh/

    源码地址:github.com/tiny-craft/tiny-rdm

    62 条回复    2024-09-06 16:09:54 +08:00
    bronyakaka
        1
    bronyakaka  
       2024-08-16 14:16:02 +08:00
    付费模式可以像 kuborad 一样,限制集群数量,比如免费 5 个集群,再多要氪金
    bronyakaka
        2
    bronyakaka  
       2024-08-16 14:17:07 +08:00
    GUI 框架不考虑 dart 吗,或者干脆直接写 web 得了,更简单
    bronyakaka
        3
    bronyakaka  
       2024-08-16 14:17:30 +08:00
    @bronyakaka 说错了不是 dart 是 flutter
    moranrs
        4
    moranrs  
       2024-08-16 14:20:00 +08:00
    中午刚评论公众号没想到 v2 上也发帖了
    hexiaowu1993
        5
    hexiaowu1993  
       2024-08-16 14:24:37 +08:00
    支持下 op
    hexiaowu1993
        6
    hexiaowu1993  
       2024-08-16 14:27:49 +08:00
    请 op 喝杯,支持一下 op ,希望不要嫌弃
    hexiaowu1993
        7
    hexiaowu1993  
       2024-08-16 14:28:30 +08:00
    @hexiaowu1993 已请
    imtflin
        8
    imtflin  
       2024-08-16 14:30:05 +08:00
    一直在用,支持一下。
    huangliu
        9
    huangliu  
    OP
       2024-08-16 14:31:14 +08:00
    @bronyakaka 一开始非常看到,不过后面发现桌面端不成熟。而且也没完善的 redis 驱动,最后大概率还是要配合 go 。这一来一回的数据转换,已经很耗费资源了。有的用户一个 key 里面内容好几 M ,甚至打开一个 list ,里面每一项都是个大 json ,这些都需要大量数据转换和传输
    huangliu
        10
    huangliu  
    OP
       2024-08-16 14:31:40 +08:00
    @hexiaowu1993 谢谢~
    huangliu
        11
    huangliu  
    OP
       2024-08-16 14:32:34 +08:00
    @moranrs 公众号推送貌似又变了啊,之前改了推荐机制,关注的人反而比较难收到新的文章
    echoless
        12
    echoless  
       2024-08-16 14:38:26 +08:00
    后来我决定用 Avalonia 重写
    ====

    目前的版本还是 wills? 重写进度如何? 螃蟹好吃么 哈哈
    iorilu
        13
    iorilu  
       2024-08-16 14:45:33 +08:00
    这种开发工具付费一般都是针对个人免费

    但商业公司用收费

    当然商业版本可以增加点别的功能
    huangliu
        14
    huangliu  
    OP
       2024-08-16 14:48:32 +08:00
    @echoless 哈哈,吃倒是好吃,就是费牙
    huangliu
        15
    huangliu  
    OP
       2024-08-16 14:50:08 +08:00
    @iorilu 其实商业用途收费这种模式,作为个人开发者,我可以通过什么方式知道它就是商业用途。如果大部分公司商业用途但是用的免费版,我似乎也没办法的。不知道有没有这方面的经验和建议
    NoobNoob030
        16
    NoobNoob030  
       2024-08-16 14:57:14 +08:00
    用过一段时间,因为 windows 上部署的旧版的 redis 会连不上,然后换了其他工具
    huangliu
        17
    huangliu  
    OP
       2024-08-16 15:02:07 +08:00
    @NoobNoob030 哪个版本,我有空试试
    meetqyx
        18
    meetqyx  
       2024-08-16 15:07:02 +08:00
    虽然 electron 有很多诟病,但是 UI 库这块,其他所有框架加起来,都不够她打的。
    klgd
        19
    klgd  
       2024-08-16 15:07:34 +08:00
    昨天看 wails 时,还看到作者的作品了,所以新版是放弃 wails 了吗
    NoobNoob030
        20
    NoobNoob030  
       2024-08-16 15:12:39 +08:00
    @huangliu 刚测试了一下,1.2 版本可以连上了,UI 也好看多了
    liferoll
        21
    liferoll  
       2024-08-16 15:29:44 +08:00
    放弃 wails 的因素是哪些呀
    easyplux
        22
    easyplux  
       2024-08-16 15:38:57 +08:00
    很好看,挺会体验一下~ 发送一个感谢
    easyplux
        23
    easyplux  
       2024-08-16 15:39:23 +08:00
    @easyplux 挺会 -> 等会
    huangliu
        24
    huangliu  
    OP
       2024-08-16 15:40:55 +08:00
    @liferoll
    @klgd 主要还是 web 的性能对这个工具不太够用了。Redis 浏览的 key 都是按万来算的,还有加载的内容也经常有过兆以上的
    28Sv0ngQfIE7Yloe
        25
    28Sv0ngQfIE7Yloe  
       2024-08-16 15:56:45 +08:00   1
    期待一下 ReadOnly 模式,这对我很重要,不然连到线上环境总是心惊胆战
    huangliu
        26
    huangliu  
    OP
       2024-08-16 16:13:03 +08:00
    @Morii 这个在 TODO 里面
    klgd
        27
    klgd  
       2024-08-16 16:16:40 +08:00
    @huangliu #24 指的是 web 的渲染性能吗?
    huangliu
        28
    huangliu  
    OP
       2024-08-16 16:23:35 +08:00
    @klgd 除了渲染以外别的也可能,比如对这几万 key 做实时输入动态筛选。
    han3sui
        29
    han3sui  
       2024-08-16 16:51:55 +08:00
    为什么不做个在线升级安装的?需要下载下来再安装
    alexsz
        30
    alexsz  
       2024-08-16 17:14:28 +08:00
    第一次使用 Tiny RDM 感觉眼前一亮,安利给了身边的同事,得到一致好评
    不过我的 windows 升级后就用不了,闪退,试过最近的几个版本都不行
    huangliu
        31
    huangliu  
    OP
       2024-08-16 18:00:06 +08:00
    @han3sui 因为 wails 上没啥成熟方案,需要自己花时间研究
    huangliu
        32
    huangliu  
    OP
       2024-08-16 18:02:23 +08:00
    @alexsz 这个也是我想重写的原因之一,有些奇怪的闪退没法弄,我也没这样的环境。

    你如果有兴趣运行代码的话,可以看看有没有线索,发 issue 给我就好
    supemaomao
        33
    supemaomao  
       2024-08-16 18:25:26 +08:00 via Android
    在用,好用,已 star 。
    shylockhg
        34
    shylockhg  
       2024-08-16 19:24:30 +08:00
    好奇收入咋样
    harukii
        35
    harukii  
       2024-08-16 19:32:00 +08:00
    一直在用,很好用
    yb2313
        36
    yb2313  
       2024-08-16 20:33:01 +08:00
    wails 写起来感觉怎么样
    huangliu
        37
    huangliu  
    OP
       2024-08-16 22:31:28 +08:00
    @shylockhg 文章里面有说,开打赏一年不够上班半天收入,哈哈哈
    huangliu
        38
    huangliu  
    OP
       2024-08-16 22:31:52 +08:00
    @yb2313 还行,算是 go 里面优秀的 gui 框架了
    iorilu
        39
    iorilu  
       2024-08-17 07:28:42 +08:00
    @huangliu 这个可能就记录下使用的 ip 把

    公司使用出口 ip 肯定都是一样的

    你可以弄一个 redis 记录 ip 和客户端数

    如果同一个 ip 有大概 3 个以上客户端在线, 那大概率不是个人使用

    然后你可以发个警告

    当然了, 最终公司掏不掏钱那是另一回事

    就算微软能监控, 他也是要靠发律师函才能拿到钱

    个人不可能搞这个, 警告下就完事

    或者你直接限制同一个 ip 登录客户端不超过 3 个
    freedom2030
        40
    freedom2030  
       2024-08-17 10:19:48 +08:00
    @huangliu #9 工具 单窗口,基本上够用了
    chenge8416
        41
    chenge8416  
       2024-08-17 10:57:26 +08:00
    穷学生最近在学 Redis 因为隔壁的付费制 随而找到了楼主的开源良心软件 简单使用上可以说是隔壁的完美屏替 感谢您 不过上面提到的闪退问题我暂时还未遇到
    zhengfan2016
        42
    zhengfan2016  
       2024-08-17 11:32:36 +08:00
    @bronyakaka #1 这种有用吗,别人可以改源码绕过限制吧。甚至还能 fork 出一份搞个开心版另立山头。还能同步上游更新
    bronyakaka
        43
    bronyakaka  
       2024-08-17 12:02:58 +08:00
    @zhengfan2016 既然都开源了那怎么都没办法,kuboard 就是不开源的
    huangliu
        44
    huangliu  
    OP
       2024-08-17 16:19:54 +08:00
    @iorilu 思路确实不错。就是这个警告还是得有专门律师团队才有震慑力,个人开发者我感觉基本都无视了。而且这样的话,不是每个用户都必须邮箱之类的登录才可以给他使用?不然你只知道 IP 也没法警告
    yafoo
        45
    yafoo  
       2024-08-17 22:09:25 +08:00 via Android
    大佬,帮忙看看,我刚发的那个帖子,问题能解决不?
    yafoo
        46
    yafoo  
       2024-08-17 22:10:05 +08:00 via Android
    huangliu
        47
    huangliu  
    OP
       2024-08-17 23:14:53 +08:00
    @yafoo 抱歉,帮不上忙。webview 我也没啥研究,也就算用过
    yafoo
        48
    yafoo  
       2024-08-17 23:18:09 +08:00 via Android
    @huangliu 好吧,我之前用的 fyne ,有点不太好用,而且字体也是渲染的比较糊,准备换 webview
    iorilu
        49
    iorilu  
       2024-08-18 08:28:15 +08:00
    @huangliu 不用邮箱登录阿

    这个只要你软件使用时, 后台启动一个线程定期比如 10 分钟链接你一个服务, 服务记录每个客户端 ip, 如果发现比如一个 ip10 分钟有几个客户端连接, 那就说明可能时公司使用, 客户端就弹出一个窗口警告就完了

    这不过这样你的软件必须在线使用, 无法离线使用, 这个也合理吧
    wangqiKylin
        50
    wangqiKylin  
       2024-08-19 16:20:38 +08:00
    mac 百度输入法开启(半角模式)的情况下,命令行无法输入字符
    wangqiKylin
        51
    wangqiKylin  
       2024-08-19 16:24:37 +08:00
    @wangqiKylin 还有点击 key 的时候总感觉有点卡顿
    huangliu
        52
    huangliu  
    OP
       2024-08-19 17:03:32 +08:00
    @wangqiKylin 输入法中文下确实经常有没法输入的情况,这个和我不太熟悉 xterm.js 多少有关系。不确定是我用得不对,还是它本来就不知道,我记得之前调试了,完全没接收到输入

    点击 key 卡是什么值加载 key 对应的值吗?
    EatIce
        53
    EatIce  
       2024-08-19 21:12:51 +08:00
    8k 的 star 很厉害啊,是自然流量增长,还是做了宣传。想学习了解一下
    wangqiKylin
        54
    wangqiKylin  
       2024-08-20 09:22:19 +08:00
    @huangliu #52 就是左侧的 key 列表,切换 key 的时候,也不是卡,就是感觉不流畅,点击之后有点延迟才有反应
    huangliu
        55
    huangliu  
    OP
       2024-08-20 09:59:53 +08:00
    @wangqiKylin 是本地的服务器还是远程的,数据是 STRING ,还是其他复杂类型。如果是复杂类型,并且里面每一项内容都挺大的,那确实会导致要加载挺长时间的
    huangliu
        56
    huangliu  
    OP
       2024-08-20 10:00:39 +08:00
    @EatIce 一开始当然是有宣传的,就类似现在这样自己发发帖什么的。不然根本没人知道你的项目,现在开源项目太多了
    wangqiKylin
        57
    wangqiKylin  
       2024-08-20 10:56:46 +08:00
    @huangliu #55 本地的,各种类型切换吧,快速切换
    huangliu
        58
    huangliu  
    OP
       2024-08-20 14:45:23 +08:00
    @wangqiKylin 貌似我这没啥感觉,是什么系统?不同系统,这 webview 的表现也不太一样,这是不太好的地方
    wangqiKylin
        59
    wangqiKylin  
       2024-08-20 15:04:24 +08:00
    @huangliu #58 系统版本 14.4.1 的,不过本子有点老了,19 年的 16 寸 macbookpro ,intel 芯片
    MarioLuo
        60
    MarioLuo  
       2024-08-29 11:11:04 +08:00
    颜值很高 精致的不像开源软件 之前用 medis 很多开源软件刚开始都做的很好 慢慢因为没有盈利就没有更新下去了 希望作者能尽快找到盈利的模式, 可以考虑苹果版本上架付费版本合适的价格,然后海外推广,毕竟有收入才能持续更新。
    huangliu
        61
    huangliu  
    OP
       2024-08-30 15:24:03 +08:00
    @MarioLuo 是的,感谢提建议,我也思考这个问题很久了
    jiayouzl
        62
    jiayouzl  
       2024-09-06 16:09:54 +08:00
    我最近也在用你的 Tiny RDM 之前用一个其他国产的,发现你的更友好点.~
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2294 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 15:53 PVG 23:53 LAX 08:53 JFK 11:53
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86