gotify 哪里都好,就是没有没有 Windows 客户端,其实要求也不高,有消息了就弹窗提醒即可,也不需要数据库之类的。只可惜一直没有官方客户端,那就自己写一个。手里拿着锤子,看什么都像是钉子。
上次写 Windows GUI 程序,还是 visual basic 年代。第一反应是用顺手的 Golang + Fyne ,但是由于没有跨平台的需求,所以还是用 C#/.net ,选择了 winforms 进行原生开发。不得不说,C#/.net 在 Windows GUI 开发还是天下无敌。只可惜微软脑子转不过来,现在跨平台 GUI 已经没有 C#/.net 什么事情了。
自定义弹窗通知示例,右上角显示。
主界面示例
系统托盘图标示例
设置窗口示例
![]() |
1
wangweitung 8 天前 via Android
这个厉害,哪里下载?
|
![]() |
2
imes OP |
3
Mithril 8 天前 ![]() WinForms 非常适合随手弄个小 GUI 程序做点简单的事。
不需要考虑什么缩放,布局;也没有很高的性能需求时,这就是最简单的解决方案。 关于 GUI 这东西,包括 Native 和 Web ,我用过尝试过很多技术。MFC ,WinForms ,WPF ,WinUI ,ASP WebForms ,MVC ,Avalonia ,QT ,Angular.js ,Angular 2+,Vue ,React ,还有 Python 的 Gradio ,Java 的 Swing 。 一堆东西用下来,简单做点小程序最方便的还是 WinForms 拖一拖完事。但凡有显示性能,排版设计等需求,都倾向于用 Web 套壳方便。无论是哪种框架,找个合适的组件库就行。设计风格统一,对于各种问题解决方案也多。 而就个人喜好而言,WPF 在它那个年代绝对是先行者。MVVM 架构放到现在也不过时。 至于程序本身的性能需求,反正我做有需求让我上 Web 框架的程序时根本不考虑这个。给我省的时间比在客户那多耗的那点性能对我来说值钱多了。Electron 顶多占你点硬盘,但能给我节省大量设计,实现的精力。 除非客户有需求,那也好说,谁要的谁就加钱。加够了给你改原生方案,绝对体积小+秒开。 |
![]() |
4
8820670 8 天前
很棒!之前一直在用 winify ,感觉一般般。等试试 op 的
|
5
NoOneNoBody 8 天前 ![]() 纯个人见解
windows 的通知,调用系统通知 api 比较好,因为人不在电脑旁或者运行全屏事务错过了,也能在通知栏找到 |
![]() |
6
oneisall8955 8 天前
催更,来个验证码自动复制到粘贴板
|
![]() |
7
imes OP @NoOneNoBody 5#
考虑过这个逻辑,即使是在任务栏,也可能会因为过多而错过。所以直接钉死在屏幕右上角,绝对不会错过提醒。 |
![]() |
8
imes OP @oneisall8955 6#
等我有空了,我来看看怎么实现。太久没有写 Windows GUI 了,很多东西要边翻文档边写。 |
![]() |
10
liuliuliuliu 8 天前
跨平台 GUI 也很厉害啊,了解一下 avalonia
|
11
dcsuibian 8 天前
微软总是反复横跳、砍产品、改名,跨平台技术真的信不过。没什么凝聚力,怀疑内部是部门斗争状态。
|
![]() |
12
oneisall8955 8 天前 ![]() @a33291 #9 webhook 通知的,别的地方完成了什么任务或者告警,需要通知一下(前提是你这个系统有配置 webhook 通知入口)
就可以搭建 gotify 服务端接受消息。客户端(安卓,网页版)就收到提醒查看消息 类似的有:bark (苹果生态),plush+(微信等) |
![]() |
13
bxb100 8 天前
推一个 raycast gotify 插件 https://www.raycast.com/Lemon/gotify
|
![]() |
14
wtks1 8 天前
不错不错,楼主厉害了
|
![]() |
15
xctcc 8 天前 via iPhone
支持一下
|
![]() |
16
thfurior 8 天前 ![]() winform 虽然难看,但做起来是无敌快
|
![]() |
17
huangliu 8 天前
建议了解下 Avalonia ,用法和 WPF 很像😂
|
![]() |
18
yafoo 7 天前
我也有个简单版的 windows 通知客户端: https://github.com/yafoo/pushme-client
一开始用的 go+fyne ,可能自己是个 go 新手,发现 fyne 想实现一个简单的消息列表都很困难,甚至简单的文字排版效果都无法实现,最后只好换 webview 了。 |
![]() |
19
levelworm 7 天前
Delphi/Lazarus 据说也不错
|