关于桌面界面开发:
Desktop版本的界面换语言啦!
原先考虑的JavaFX,熟悉了一个星期。
它是一个动态脚本语言,理论上是可以作出更快速的开发,和Java类的互操作也有问题。
可惜,目前的IDE(NetBeans IDE)不能把它的优势完全发挥出来,连开发JavaFX的NetBeans插件都是Beta版本的- -
相比较,应该选择Swing。
所以今天早上我把桌面版本的界面重新做了下设计,原型已经出来了。
下午结合辞典引擎的服务,已经可以搜索词汇了 :-)
不过,目前问题比较大的是性能问题,和上次讨论的结果一样,性能问题出来了。
试验中,我加载了两部辞典(物理大小20.4Mb,词汇共计62万左右),索引文件完全加载后程序运行起来至少耗费50Mb内存。。。。
关于索引的部分必须要重新设计一下!
到目前为止,我们的第一轮迭代基本完成了(14号迭代0结束,刚好2个星期),大家要注意关注项目管理中心的素材、任务、缺陷、Issue的计划。
关于支持Plugins的设计思想:
现在的词库引擎核心是Fixed和Dynamic两类。Fixed下目前只有StarDict的查询引擎;Dynamic下有基于XML的查询/编辑引擎。
我觉得可以把Fixed类型的词库查询引擎做成支持插件的设计,可以让其他开发人员扩展查询引擎。举个例子:
1. John开发了一个支持dict.org辞典格式的引擎
2. Vanessa开发了一个可以在WikiPedia上搜索词汇的引擎
他们的引擎都实现了Fixed类型引擎的接口并编译成了Jar包,我们的辞典框架可以方便地选择所需要的辞典引擎。对用户来说,可能就是在下载词库 引擎Jar后点,在StongeAge的词库引擎管理界面里来个"Install Query Engine",以后可以方便地 选择/反选/卸载 各种引擎。只要词库查询引擎够数量,世界上还有什么单词查不到的呢?这大大方便了用户!
上面只考虑了Fixed类型的词库查询,因为Fixed的查询方法前人已经有辞典格式/搜索服务接口来规定了,要作edit是不可能的。
但,这至少有两个优点:
1. 我们可以集中努力去做Open & Real-time的特性
2. 让其他开发词库引擎的开发者可以更专注地做好Fixed类型搜索
以上只是目前的想法,技术方面也作了一些研究:
OSGi4.1,eclipse3.x用的就是这个规范(基于Equinox框架)
这个是Java插件设计目前在业界据说使用最好的,但技术本身的复杂度还需要继续一定时间来实验。
好了,今天又罗嗦了一推,还是那句话:大家要积极讨论啊,交流有益身心健康:-)
分享到:
相关推荐
华宇驾校桌面应用专用插件设计源码是一个集成了Vue组件化开发思想和JavaScript脚本灵活性的软件解决方案。它不仅能够提供给华宇驾校高效便捷的桌面应用体验,也展现了现代前端开发技术在特定行业中的应用潜力和价值...
该插件项目的设计不仅体现了Python语言的便捷性和高效性,也展示了桌面小插件在功能集成与用户体验方面的巨大潜力。通过将常用功能集成到一个小巧、易用的界面中,用户可以更加专注于工作本身,减少在不同软件间切换...
内容概要:本资源基于Vue3和ElementPlus构建,实现了一个大学生桌面聊天室系统,界面仿照QQ和微信,包含了常见的聊天功能和界面...在学习过程中,建议结合部署文档进行实践,并理解讲解内容中的技术原理和设计思路。
确保功能设计符合插件化思想,即不依赖于主程序的核心功能。 2. 编写插件代码:使用合适的编程语言,如JavaScript、Python、Java等,编写插件代码。遵循主程序提供的API规范,实现所需功能。 3. 测试与调试:在...
总的来说,这个仿Outlook风格界面框架结合了.NET Framework的WinForm技术与插件化的设计思想,为开发者提供了一个快速构建多模块、可定制用户界面的工具。通过研究和利用这个源码,开发者可以节省大量时间,专注于...
能力目标方面,学生应能清晰表述手机UI界面设计的基本流程和设计思路,并能在实际设计中体现设计原则。借助PS软件,学生需要能够独立完成手机主题界面各部分的设计,如主题形象、壁纸、锁屏、天气插件和桌面图标等。...
通过深入研究其源代码和设计思路,开发者可以学习到如何创建类似的用户友好型插件,提升自身的产品设计和开发技能。同时,这也反映了当前IT行业对提升用户体验的持续追求,以及技术与设计融合的趋势。
通过这些具体的设计和功能,我们可以看出,该MooTool开发者桌面工具集的设计思想是将开发者的日常需求和工具功能融为一体,使得开发者在使用桌面工具集时,能够得到一站式的服务,极大地提升了开发流程的便捷性和...
"Appending2.0 插件源工程"是一个关于软件开发的项目,主要关注的是一个名为"Appending2.0"的特定插件。插件是一种可扩展应用...此外,对Ggicci的其他作品进行探索,或许能帮助你更好地理解作者的编程风格和设计思路。
【桌面图标管理工具】是一款由易语言开发的实用软件,主要针对桌面图标过多、排列混乱等...通过分析提供的文件列表,我们可以看出这款软件的设计思路和实现方式,对于学习易语言编程和桌面应用设计具有一定的参考价值。
它提供了丰富的控件和事件模型,使得开发者可以轻松创建具有用户交互的图形界面。 3. 插件化开发:插件化开发允许将一个大型系统分解为多个独立的、可替换或可扩展的组件,称为插件。这种架构模式有利于代码的组织...
《基于Electron + Vue的桌面音乐助手的设计与实现》是一个结合了现代Web技术和桌面应用开发框架的创新项目。这个软件的构建充分利用了Vue.js的前端框架以及Electron的桌面应用开发平台,为用户提供了一种全新的桌面...
总结来说,这个电量显示Widgets插件的源码展示了如何利用Android SDK的App Widget API和BatteryManager来创建一个实用的桌面小部件,同时也涉及到了UI设计和BroadcastReceiver的使用。对于想要深入学习Android开发,...
管理代理可以是各种形式的界面,如命令行、桌面应用或Web应用。 CTK Plugin Framework 的优点在于继承了OSGi的成熟设计理念和API,提供了强大的组件化能力,适用于构建复杂、动态和可扩展的应用程序。这种框架有利...
最后,提供的PPT可能包含了项目介绍、系统设计思路、功能模块详解等内容,有助于理解系统的整体架构和实现细节。通过学习这个项目,不仅可以掌握Java Swing的基本用法,还能了解到如何设计数据库模型,以及如何在...
《delphi人才信息管理系统》是一款基于Delphi编程语言开发的软件,主要应用于人力资源管理领域,为各类企业或...通过深入研究源代码和开发文档,开发者可以提升自己的编程技能,并借鉴其中的设计思路来解决实际问题。
本文将深入探讨Makagiga的源码,揭示其内在的工作机制和设计思路。 首先,我们关注的是Makagiga的编程语言——Java。作为一款用Java编写的软件,Makagiga充分利用了Java的跨平台优势,可以在Windows、Linux和Mac OS...
在本项目中,Swing被用来设计和实现学生宿舍管理系统的各个功能模块,如宿舍分配、信息查询、数据修改等,通过图形化界面,使得操作更为直观易用。 数据库课程设计是学习数据库理论与实践的重要环节。在这个项目中...
在现代的软件开发中,利用Web技术来增强传统桌面应用的功能已经变得越来越普遍。Office.js是微软提供的一个JavaScript库,它允许开发者通过Web技术来创建和定制Microsoft Office的应用,包括Excel插件。React,作为...
jQueryPopMenu是一款基于jQuery的...通过学习和理解jQueryPopMenu插件的工作原理,开发者可以借鉴其设计思路,为自己的项目创建类似的交互效果,提高用户体验。同时,这也是提升JavaScript和jQuery技能的一个好案例。