我的软件《ZHAI》
忘了是什么时候写下这个项目的第一行代码,但至少是在四年之前...
那时候我刚刚裸辞工作,准备开启一场西部旅行。
离开北京之前,我在北京租房子还有一个月的租期,我呆在家里无所事事,于是就翻出了这个萦绕在我脑海中好久的想法,那就是去实现一个媒体文件管理器。
我希望这个管理器可以帮助我管理我的照片、视频和电影等等资源,可以匹配封面、可以打分、可以标记喜欢等等,这样我就可以方便快捷的查找我想看的资源...
说干就干!
话说回来,我的本职是一个熟悉web开发的程序员,用最熟悉的技术实现这个软件也是我最初的想法,我可以有一万种酷炫的姿势用网页的方式展示“它们”。可是,我的全部媒体文件毕竟都存在我的电脑本地,我想预览它们不是一件容易的事情,比如各个格式的视频文件,常见的格式可以轻松预览,不常见的就要下载特定的播放器来播放...
花更多的时间把所有的视频文件转码也是一种解决方式,但这显然不是一个个人管理软件需要负责的任务。如果我搞了这么多,最终还是要配套一些其他软件,这显然不是我的初衷。在得知GITHUB上有现成的播放器引擎,如ffmpeg、vlc等等之后,我决定把视频播放器和图片浏览器集成到我的软件当中...
这样,我就不能再用web的方式来实现,只能开发一个桌面端的软件。虽然我之前开发过Winform的程序,但Winform太丑了,我要的是“酷炫”,最终我盯上了WPF...
WPF开发的自由度很高,对WPF绝对熟悉的开发者可以开发出特别好看的界面,由于WPF是用C#开发,所以我对自己很有信心,虽然我对WPF一知半解...
当我写下这个项目的第一行代码时,便开启了疯狂的工作模式,因为我要一边学习一边开发,导致我几乎每天都在废寝忘食,不知昼夜,常常看完日出才去睡觉...
将近一个月,我拿出了让自己都哭笑不得的“产品”。当初追求的酷炫扁平化设计,让我弄成了随意推起的色块;更重要的是,加载数据的过程中,软件奇卡无比,让我无法接受...
对未知领域的无知,我低估了桌面软件在开发过程中需要考虑的种种问题,不能有效的运用多线程、缓存和异步等技术,让我在之后的开发过程中寸步难行。虽然我完成了一部分功能,但目测这只能被称作一个不能用的“垃圾”...
它让我的自信受挫,甚至感到了沉重一击,我本以为这么多年的编码经验让无所不能,实际上我却无能为力,我把代码放进仓库,封印了它,我知道了我的能力还没有赶上想法...
直到我游历完大半个中国之后才又想起将它重新拾起,这虽然不能算是我的梦想,但也是我的一个小小愿望。
于是我尝试优化各个软件中“卡顿”的环节,比如图片异步压缩,图片延迟加载、数据异步读取、线程入池排队、UI虚拟化等等一顿操作之后,我的软件貌似可以用了!为了让软件变得好看,我穿行于各种UE/UX交流论坛,我优化了软件界面,它看起来距离我心中的样子又近了一步...
可这时,我无意间发现了Emby、Plex!我顿时有了被降维打击一般的感觉,这不就是我想实现的这个想法的终极目标吗?再用一用自己的软件,发现它仅仅是一个数据库展示器,与人家的程序软件相比简直鸡肋到一无是处...
我沉思了片刻,又把代码放进仓库,还是继续封印着吧...
虽说是封印,可我那颗不安的小心脏总是撩拨我时不时的把“它”拿出来折腾一番,但却又每每受挫送回,期间已记不得被自己修修改改了多少回...
直到去年,我忽然想到一个不起眼的功能“文件整理”,它的主要功能是以数据列表的方式展示,以方便我对文件资源的管理,它就是一个微型的windows资源管理器,虽然简单,但它貌似有能支撑起我全部想法的潜力,于是我推翻来重做,便有了现在的“ZHAI”...
我努力的扩充着它的功能,甚至想朝着windows的资源管理器的目标前进,而与其不同的是软件可以开启右侧的快速预览窗口,与左侧的数据列表配合,大大的方便了图片和视频的预览效率...
更近一步,我设计了“PACK”包概念,在国内可能称为“合集”或“系列”更容易被理解,比如有一组图片,它们都是我2021年拍摄的,并且我已经按日期分好子文件夹,我把它们都放入这个叫做“2021”的文件夹内,并标记为PACK,这样,点击该文件夹预览时,便只会将其中的子文件夹当作一个元素显示,并挑选一张图作为封面展示...
另比如,有一组电影,它们都是香港电影,那我就可以将所有的电影都放入这个叫做“香港”的文件夹里,并标记为PACK,这样,点击该文件夹预览时,便会以封面的方式排入列表。另外,视频和剧集亦然...
再进一步,便是对子文件夹元素的预览,和对文件夹内容NFO的编辑界面,这便有了如下视图的展示:
再说起文件资源的管理,我制作了四种视图,除了Grid和List常用的视图,我还仿照MacOS的文件管理开发了子文件夹横向显示的视图,还有我个人最喜欢的树形视图,这四种视图可以随意切换,还有,就是“多标签页”,这都是为了方便我对文件资源的掌握。
右键菜单里有一切很不错的功能,功能和文字描述一目了然,是我在整理文件的过程中遭遇到需求而开发的实用小功能,另外,我还有一些其他的想法待实现,比如把我的超级重命名工具继承进来等等...
最后,我给“ZHAI”制作了三款皮肤,浅色、深色、阿紫,个人感觉非常好看,在有精力的情况下,我还会开发更多的皮肤。关于 ZHAI 的命名,这与 ZDY ' LOVE 有着不可分割的联系。
所以,这就是我对ZHAI之前的全部付出。它虽然诞生于我(ZDY)的个人兴趣,但我也会在有限的时间里维护这个软件。如果在使用的过程中发现什么BUG,欢迎发送描述信息和图片到我的邮箱,也可以在我的GitHub上留言,我会尽力改进软件...
如对我的软件感兴趣,可以在我的GITHUB上的临时发布页下载:ZHAI.PUBLISH
- 本文链接: https://www.zdyla.com/post/my-software-zhai.html
- 版权声明: 本博客所有文章和照片除特别声明外,转载请联系作者获取授权,并请注明出处!