桌面插件开发,手机桌面插件设计
关于桌面界面开发:
桌面版界面换语言!
熟悉JavaFX一周了。
它是一种动态脚本语言,理论上可以开发得更快,与Java类的互操作性存在一些问题。
可惜现在的IDE(NetBeans IDE)发挥不出它的优势。甚至用于开发JavaFX的NetBeans插件也是测试版
相比较而言,应该选择Swing。
所以今天早上我重新设计了桌面版的界面,原型已经出来了。
结合下午词典引擎的服务,已经可以搜索词汇了:-)
但是,目前来看,更大的问题是性能问题。上次讨论的结果,性能问题出来了。
实验中我加载了两本词典(物理大小20.4Mb,总词汇量约62万)。在索引文件完全加载后,程序至少运行50Mb的内存。
关于索引的部分必须重新设计!
到目前为止,我们的第一次迭代已经基本完成(14日的0次迭代仅用了2周就结束了)。大家要关注项目管理中心的资料、任务、缺陷、发放计划。
支持插件的设计思想:
目前,词库引擎的核心是固定的和动态的。目前只有StarDict的查询引擎在Fixed下;在Dynamic下有一个基于XML的查询/编辑引擎。
我觉得可以把固定类型的词库查询引擎做成支持插件的设计,这样其他开发者就可以扩展查询引擎了。例如:
1.约翰开发了一个支持dictionary字典格式的引擎。
2.凡妮莎开发了一个可以在维基百科上搜索词汇的引擎。
他们的引擎实现了固定类型引擎的接口,并将它们编译成Jar包。我们的字典框架可以很容易地选择所需的字典引擎。对于用户来说,可能是下载了词库引擎Jar后,在StongeAge的词库引擎管理界面点击了‘安装查询引擎’,这样以后就可以方便的选择/取消选择/卸载各种引擎了。只要有足够多的词库搜索引擎,世界上有哪些词是找不到的?这大大方便了用户!
上面只考虑了固定类型的词库查询,因为固定查询方式已经被词典格式/搜索服务接口规定了,无法编辑。
然而,这至少有两个优点:
1.我们可以把精力集中在开放实时的特性上。
2.让其他开发词库引擎的开发者更专注于固定类型搜索。
这些只是目前的想法,在技术方面已经做了一些研究:
OSGi4.1和eclipse3.x使用这个规范(基于Equinox框架)。
这个Java插件设计据说是目前业界最好的,但是技术本身的复杂程度还需要实验一段时间。
好了,今天又一个长篇大论的推送,还是那句话:大家积极讨论,交流有益身心健康:-)