为什么突然想到做一个这样的app出来?
前段时间特别忙,每天都有很多事情做不完,想找个地方把一些todo记录下来,第二天的时候接着做。
但是,找来找去,没找到合适的app(windows7企业版),搜索了一大圈,one note啥的都试过了,最后发现竟然没有一个大家都觉得很好的专门做todo list的windows软件?!
也许很多人觉得做个todo的app太low了,毕竟很多框架的hello world都是做个todo,比如angular。
可是有的app真的是在你需要的时候你才会觉得没有它真不行,既然现在没有顺手的,就动手写一个。
技术选型
- electron
- javafx
- c#
先说c#
我本身没写过c#,搜索了一下windows做桌面软件,发现主流的还是c#+WPF,这两个我都没写过,所以这是个备选方案,如果其他实在不满意,再考虑这个?
再说javafx
之所以想到javafx是因为我是写java的,这个app又是一个桌面软件,然后就开始搭架子。
spring boot+javafx的架子很快搭好了之后,发现用java写界面简直是要命。
虽然有scene builder,但是javafx的css写起来也是非常僵硬,好不容易画了个像样的页面出来,预览一下发现,太丑了。
后来搜了一下,发现有个javafx的库,提供了MD风格的控件,看图片还挺好看,捣鼓了一天那个库,到最后发现还是不好用,一气之下,rm -rf 了。
该electron了
很早之前用这个东西做了个hello world玩过,没有深入研究,觉得还行,淘汰完javafx之后,就搭了个electron的架子准备试试。
搭架子过程中有很多故事
首先是mvvm框架
这个没的说,选择了vuejs
然后,就是ui框架
因为觉得这app逻辑比较简单,就是个todo嘛,就想做的炫酷点,比来比去,先用vuetify试了试,发现,效果还行,就是vuetify的文档实在写的不太好,用起来不顺手,有的组件我还得自己打开源码看,虽然不方便,但好歹是把主页面画出来了,效果还可以,只不过越往下写,越觉得vuetify不好用,文档不够详细,用起来很吃力,只能放弃。
所以我现在还是回来拥抱我的element ui了
需不需要路由?
需要,这是最终的答案,也是尝试过之后的选择,用了路由对以后的扩展以及页面的访问控制来说都有帮助
需不需要vuex?
不需要,这也是最终的选择,加了vuex之后,发现这个app里没有几个场景能用到它,有点为了用而用,没有必要。
数据存储!!!