SixTools 小工具集 开发之路
一直以来都想开发一些自己用的小工具,一反面看看自己的能力怎么样,算是对自己技术能力的一种考验和锻炼,另一方面,算是解决一些其他工具解决不了的个人化需求,算是两全其美。
引子:MovieRecorder
MovieRecorder是我开发的最早的小工具,历史算的上悠久了。大二的时候,刚开始有电脑,寝室的2M网络8个人共用,简直卡的不行。我经常去网吧拷点电影回来看,结果好几次拷回来的都是以前看过的,挺郁闷的,后来就用txt记录了看过哪些电影,渐渐地养成了习惯,工具也从txt变成了onenote。后来,在13年上半年刚学习完Java,有一段时间没什么事情,就用Swing和Sqlite开发了一个工具,就是MovieRecorder,之后一发不可收拾的开发了记录美剧观看进度的工具,代码保存器等小工具。
14年6月份去北京出差的时候,坐在高铁上想到以前听别人说的一个典故 - Junit是开发者出差的时候在飞机上开发出来的。于是我就小激动的打开电脑想做点什么,刚好之前在网上看了一篇Python、PyQt和Eric开发GUI程序的文章,就用Python2重写了MovieRecorder,这就是Movie Recorder2。到北京之后用了一段时间,感觉中文在Python2中太难处理,就狠心用Python3再次重写了一次,这一次的第三版我用了七,八个月。
更多的工具
去年年底,一直想找一个小工具:在系统托盘显示,点击之后出来一个菜单,菜单的内容是我自己配置的快捷方式。在网上找了各种工具,总是不满意,于是再次动手开始开发自己的小工具。刚好之前就有一个开发一个工具箱SixTools的想法,就将这个小工具命名为SixTray,只开发了托盘工具,快捷方式指向的文件自己手动在数据库配置,没有开发管理界面。由于公司的项目使用的Maven,所以从这个小工具开始,我都是使用Maven进行依赖管理和构建。
今年年初,工伤在家的时候,闲来无事想学点什么,偶然看到了JavaFx开发的程序的图片,想起MovieRecorder第一版Swing那丑爆了的界面,惊呆了,于是花了几天学习了一下,之后就开发了第四版Movie Recorder、计划工具Six Plan、SixTry的管理界面。后来重构了一版,所有的工具命名开始统一化,以seis-开头,工具名多改为西班牙语单词。后来又陆陆续续开发了几个小工具。
框架化
端午节之前的那天晚上,看着我开发的一堆小工具,就想着为什么不集合到一个界面去呢。于是就做个了实验,发现是可以从fxml中load一个界面,放到另一个pane中去,结果就开始重构代码,花了一晚上重构了一个框架Seis-Gadgets,接着度过了昏昏沉沉的两天假期,第三天的时候花了将近一天的时间将所有的工具集合到新工具中去。新工具上边是十个按钮,分别对应十大类功能,点击之后左侧列表会替换为对应的小功能按钮列表,每个按钮点击之后右侧会出现对应的工具,每个工具都是一个maven的模块,可以的不依赖框架单独启动。于是新工具诞生了。
几张图片纪念自己生涩的开发之路和没有脸面见人的UI。
后边的图都丢了,找不到了