Monthly Issue - 2023.7
初探 Tauri
受到 @MYXTTS 的邀请,我给他的桌面端项目做了一个技术布局。由于是与系统有交互的,并且在接受不了太大的包大小的情况下,我只能选择了 Tauri 作为解决方案。
但是如果是两个人开发,在前端直接用 invoke
来调不太优雅,而且也不好两个人配合维护。在寻找社区方案的时候想起了 Spacedrive,于是找到了 rspc + prisma 的配合。
Prisma 官方暂时没有 rust 的解决方案,目前是有社区的人写的 Prisma Client Rust
但是还是有一点问题,有的时候需要另外用
npx prisma
来操作。
Spacedrive 太过于复杂,我只好把眼光看向 twidgeapp/twidge,它的结构大概是这样的:
core
prisma
-- binroutes
-- 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实在有点占内存)