根据我的经验,UI编程非常费时、昂贵(设计师、图形等),而且容易出错- UI的错误或故障在定义上是非常明显的,令人尴尬。
您如何缓解这个问题?
您是否知道一种可以自动将API转换为用户界面(最好是Web用户界面)的解决方案?
可能类似于JMX控制台
- 具有良好的默认设置
- 可以使用CSS进行调整
- 其中字段可以配置为单选按钮或下拉列表、文本字段或文本区域等
- 可本地化
- 等等
根据我的经验,UI编程非常费时、昂贵(设计师、图形等),而且容易出错- UI的错误或故障在定义上是非常明显的,令人尴尬。
您如何缓解这个问题?
您是否知道一种可以自动将API转换为用户界面(最好是Web用户界面)的解决方案?
可能类似于JMX控制台
开发 UI 很耗时且容易出错,因为它涉及设计。不仅仅是视觉或声音设计,更重要的是交互设计。一个好的 API 总是交互模型中立的,这意味着它对实际工作流程、本地化和信息表示的限制最小。这背后的主要驱动力是封装和代码复用。
因此,仅通过 API 无法提取足够的信息来构建针对特定 API 使用情况的良好用户界面。
然而,有一些 UI 生成器可以根据给定的 API 生成CRUD屏幕。不用说,这样生成的 UI 对于需要更高 UI 效率的经常使用者并不是很适合,也不是特别容易学习的, 特别是在大型系统中,因为它们并不能很好地传达系统形象或交互顺序。
创建一个好的 UI 需要投入大量精力,因为它需要根据特定用户的需求进行设计,而不是仅仅因为某些机械的 API-UI 转换任务能够完全自动化。
为了加速 UI 构建过程并降低风险,可能建议要么涉及到 UI 专业人员,要么自己学习更多的工作内容。不幸的是,没有捷径或魔法棒,可以完全基于 API 而不需要大量的额外信息和分析来产生高质量的 UI。
此外,请参见一个很好的问题:“Why is good UI design so hard for some developers?”,其中有一些非常有见地和有价值的答案,特别是:
自动生成用户界面在某种程度上是可能的,因为它可以生成所需输入和输出数据的控件。但是UI设计远比简单地将所需控件放到屏幕上要复杂得多。为了创建一个可用、用户友好的UI,必须结合来自图形设计、人体工程学、心理学等学科的知识。人机交互之所以成为一门学科是有原因的:创建一个体面的UI并不是一件轻松的事情。
因此,我认为你的问题没有真正的解决方案。UI设计是一项复杂的任务,需要花费足够的时间才能做好。唯一相对容易节省时间的领域是工具:如果你有强大的工具来实现用户界面的设计,就不必手动编写每个像素的UI。
当你说UI很费时、昂贵且容易出错时,你是完全正确的!
我发现一个很好的折中方案如下...
我意识到很多数据(如果不是大部分)可以使用简单的表格(如JTable)来呈现,而不是不断尝试创建自定义面板和花哨的GUI。一开始似乎并不明显,但它相当不错、可用和视觉上吸引人。
为什么这么快?因为我能够创建一个可重用的框架,可以接受一组具体的模型,并且几乎不需要任何努力就可以在表格中呈现所有这些模型。代码重用非常多,难以置信。
通过在窗口上方添加工具栏,我的框架可以向表格中添加、删除或编辑条目。使用JTables的全部功能,我可以通过扩展各种类(但仅在必要时)隐藏(通过过滤)和排序。
每当我想要显示和管理新模型时,我发现自己在重复使用大量的代码。我广泛使用图标(按列、行或单元格等)来美化屏幕。我使用大图标作为窗口标题,使每个屏幕“看起来”不同和吸引人,但它们背后的代码始终相同。
一开始需要大量的工作和努力来完成框架,但现在它正在大大地回报。
我可以在很短的时间内为全新的应用程序编写GUI,包括30到50个不同的模型,其中包含许多屏幕,而使用“自定义UI方法”则需要更长的时间。
我建议您评估并探索这种方法!
这很困难,因为大多数用户/客户都很愚蠢,思维不清晰! :) 这很耗时,因为UI开发人员/设计师非常强迫症! :)