起因
几个月前,我在寻找一款时间管理软件,类似番茄时钟的工具,但是希望可以自定义时间。
需要自定义的场景
- 做雅思阅读,3篇文件需要严格控制时间分配,需要一个灵活的计时器
- 定期提醒,每30分钟需要喝水或者上个厕所或者摸一下鱼...
总结起来就是:专注一段时间,比如30分钟,然后休息10分钟,且没有杂七杂八的功能。
理论上有的番茄时钟也能满足需求,但是我的需求是:
- 界面尽可能的简洁。
- 免费使用且最好是开源的。
- 可以自定义时间。
- 最好能跨平台,因为有时候是在macOS下使用,有时候又是在Windows上。
但就其中部份条件还好,完全符合的竟然没符合我需求的。
在Apple store找到一个比较接近需求的一款,叫iTimer, 非常简洁好用,但是自定义时间需要内购,且只能在macOS下。
于是我在使用的时候就想,这软件功能极简,就几个页面,为什么我不自己做一个能。 于是每次利用一点时间空隙我就写一部份,一开始是选型MAUI,然后中途切换成Avalonia,最后基本完成了这个简易的版本。这里记录下开发心得
结论是:
代码都是C# + XAML,没有很复杂的逻辑和代码,新手完全可以轻松写一个日常使用的UI Tool。
代码放在Github,也没啥技术含量,有需要的自取
https://github.com/hoyho/iTimeSlot/tree/main
暂时没有发布二进制文件
需要的自己用git 克隆下来,然后dotnet build
或者dotnet publish
即可
成品预览
macOS下使用默认主题:
使用Material Theme
Windows和Linux (使用xfce 桌面)
其他杂七杂八的需求
弹窗, 托盘等
就目前而言,基本能满足我的需求了。
谈谈体验
why choose MAUI
一开始,觉得是微软官方出的框架,应该不会有啥大坑吧,于是看了下官方介绍,文档的demo