前言

尝试开发第一个项目,详情可以查看关于我的短期想法,此文档是我的开发进度日志,希望我可以坚持到顺利开发更新。

一些想法

想法第一版

采用侧边栏任务栏,将功能模块尽量缩小,让更多的内容专注于写作的右侧主模块。

右侧主模块默认主页是类似于气泡框的呈现形式,类似于小组件后续方便组件开发和排版。

配色采用经典白色,蓝色纯属是为了迎合背景图片,其他重要的功能压缩在设置中。

image-20230123233942176

想法第二版

在尝试改进 UI 美化,参考了网上很多 UI 设计,做出来第二版的 UI 布局,相比于第一版的确美化程度上来说有质的飞跃,看起来更加的现代化,但是我个人感觉,这样的设计在增加美化的同时反而削弱了对写作记录本身的专注,使得使用者更加倾向于外观上的使用而不是写作内核的使用。

同样的右侧采用气泡框来展示每个内容,每个气泡框是一个小组件,用户可以自定义小组件的显示排序等,同样也可以根据我留下来的接口来开发其他小组件来完成首页的美化。

image-20230123234218568

想法第三版

思考了几天,这个软件的定位应该是“电子手账本”,软件设计的要灵活模块化,可以加载不同的 UI界面,不同的页面,以及插件。软件主体功能还是日记,日记事,计划,手账本以及记录一些自己的胡思乱想。

关于模块化的页面,我想到了“电子族谱”,用它来记录自己家庭成员或者好友的信息,照片,以及相关事件等,支持时间轴查看,例如和父母的生活日记,插入时间轴图片以及相关文字描述来专门记录自己和父母的时光,同样的也可以建立多个页面,例如和自己的好朋友以及对象的相关时间记录。

目前名字还在想新的名字,因为我一开始只是想做个现代化符合自己需求的日记本,但是目前考虑了一些,软件的定位变成了手账本,或者说“日记手账本”,其最基本的要求是单机数据归用户自己保存,开源支持拓展皮肤美化,插件拓展功能,免费跨平台,即使用WebDav协议可以实现跨平台软件。

image-20230130180135535

时间轴

  • 【2023/6/27】【15.00%】
    如你所见,这个项目,目前砍掉了,在经过我毕设和毕业的忙活之后,就我要实现的功能和长期实用性来看,我认为继续用使用WPF技术来实现这个项目将会是一个错误且灾难性的。
    目前来说,如果继续使用C#则需要掌握一定程度的MAUI并等待其开发稳定,或者我同样的使用Electron,即基于浏览器内核的开发。
    产生如上想法,归根揭底还是源于我对于跨平台的执着,并且我认为这将是最优也是最终的解决方案。
    在此时暂时封存项目,等到有机会的时候,再继续吧🫡

    【2023/2/14】【15%】

    • 使用了LiteDB作为软件的数据库,引用了HandyControl作为部分的控件实现,获取后期会作为一套UI样式供选择使用,使用了LiveCharts2作为图表统计的UI组件
    • 增加了日历模块的自定义控件
    • 修改了之前日记的UI和部分功能
    • 下一步解决日历的自定义控件的基本逻辑,然后就是数据库的事情,再然后就是串联起来实现基本的数据存储,读取和显示,再就是主页小组件模块的拓展,再然后就是设置的绑定,再然后就是 UI 样式和软件语言设置等配置文件的完善,再然后就是优化软件的逻辑,再然后就是更改日记的渲染模块(估计要在1.x版本才能实现了)

    【2023/2/13】【12%】

    • 增加配置文件读写,准备绑定设置窗口
    • 增加日记文件目录读取
    • 合并Beta分支到main,准备下阶段的Beta功能性开发,目前仅仅实现了基本的Markdown写作和基本的UI,其他功能仍在开发中,任务较大,我在尝试尽量保持MVVM架构的条件下来支持开发

    【2023/2/12】【10%】

    • 开发依赖升级.NET4.8
    • 创建了Beta分支,此分支用于功能实验性开发测试,不保证支持更新
    • 使用了 CefSharpmarkdig 分别负责markdown文本转换和基础渲染工作,不过从Beta测试分支来看,仅仅处于能渲染的情况,对于美化的UI,我举得我需要我学习前端的内容(感觉要放弃这个项目)

    【2023/2/11】【5%】

    • 修改了部分样式
    • 增加了相关空页面
    • 接下来的日历页面,我不得不重写一个自定义日历控件,这将耗费我不少的时间,因为涉及日历的算法比较麻烦
    • 第二大难点是利用C#来实现Markdown写作,我在想要么使用其他人的开源项目,我在我的软件嵌入chrome浏览器来实现写作解析,但是如果有很多自定义的功能就会很麻烦。第二个就是我自己推到重写写一个C#markdown解析器,会很耗时间,但是我可以按照我自己的想法来更新

    【2023/2/3】【3%】

    • 增加了设置页面
    • 美化并修改了页面内容,创建了相关样式

    【2023/2/2】【1%】

    • 搭建了基本的 UI 框架
    • 自定义了两个基本的 UI 控件