Monthly Issue - 2023.7

初探 Tauri

受到 @MYXTTS 的邀请,我给他的桌面端项目做了一个技术布局。由于是与系统有交互的,并且在接受不了太大的包大小的情况下,我只能选择了 Tauri 作为解决方案。

但是如果是两个人开发,在前端直接用 invoke 来调不太优雅,而且也不好两个人配合维护。在寻找社区方案的时候想起了 Spacedrive,于是找到了 rspc + prisma 的配合。

Prisma 官方暂时没有 rust 的解决方案,目前是有社区的人写的 Prisma Client Rust

但是还是有一点问题,有的时候需要另外用 npx prisma 来操作。

Spacedrive 太过于复杂,我只好把眼光看向 twidgeapp/twidge,它的结构大概是这样的:

  • core
    • prisma -- bin
    • routes -- logics
    • ...xxx.rs
  • prisma -- 单纯放 schema 的
  • src-tauri -- 其实这个地方就不用什么代码了,全部逻辑都都到 core 里写了
  • Your frontend

现在用下来感觉非常好,以至于我想回到 node 体验一番 trpc 是什么样的了.

在测试了一下可行性后,我就写了一个 Template:

这个模板都不需要绑定前端,毕竟调用方式是一样的()

准备开发的新工具 -- Software Helper

写得爽啊,于是就立马把我好久以前的想法想给实现了。这是用来更新软件的(但是是开心版)

由于不同网站的下载按钮不同,于是这个项目会是要另外再写一个爬虫的,本体只是一个壳,核心还是爬虫。但是由于性质比较特殊,可能未来开源的话我也不会公开爬虫,尽量不影响到他们的利益...

但是写的时候发现 rust 坑有点多... 还有点让我血压大..

GitHub(但是还是 Private 状态):https://github.com/wibus-wee/software-helper

全新的 mx-space 文档

一直以来,都有用户提到「文档有点难懂」这个问题,我后来看了一下原本的文档,是真的看不懂。各种锚点到处飘,还有的锚点是无效的,不知道想要定位到哪里。

我为此还写了一小段来喷文档的问题:https://github.com/mx-space/docs-archived/pull/163 但是后面越改越发觉改不了。后来就直接重写了,也不用 vitepress 了,转用 nextra (毕竟不熟悉 Vue 有的时候还是有点烦)

新的文档甚至写了一些组件来增强部署体验,比如「一键复制自定义配置」

旧文档:https://github.com/mx-space/docs-archived

全新文档:https://github.com/mx-space/docs

icalingua++ 主题 -- Telegram

我非常喜欢 Telegram Desktop 的 UI,但是在很多时候我都没法访问 Telegram,并且地区使用习惯的原因,我很难使用 Telegram,而是使用 QQ。

虽然有 Q2TG 的解决方案,但是在腾讯最近封杀协议的情况下,感觉不太稳定。

QQ NT 版本的 UI 也完全没有办法自由定制,即使定制成功了也是 HACK 进去的,对这款软件来说它并不合法。甚至现在的新版本已经封杀了很多 HACK 方法了,可以稳定活着的非常的少,也暂时不支持 macOS 平台。

ProcessReporter Mac

Process Reporter for Shiro是一个使用Swift UI构建的macOS应用程序。它旨在实时报告当前用户在macOS上使用的前台应用程序的名称,以及正在播放的任何媒体信息。

嗯就这样... 我只是给它配了个 CI,修了个取值取到 nil 的问题罢了..

正在规划的框架 -- ModuFlow

Java生态中有一个插件框架叫做:pf4j,在我看来在 halo 上使用 pf4j 获得了非常好的维护性,但是反观 nodejs,似乎没有一个成熟的 pf4j,我打算仿照它的概念、设计,做一个新的框架:ModuFlow (并且用在 Mog 上,nestjs实在有点占内存)

https://github.com/moduflow

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...