it-swarm.cn

制作动态GUI的好方法?

我有一个正在设计的应用程序,目前处于功能良好的状态。但是我使用的数据库有1000多个项目,并且一直在变化和增长。某些数据项的应用也可能会根据用户限制(产品接口,用户级别等)而有所不同。我试图使这种布局尽可能灵活,以至于数据库基本上控制了GUI布局。

我想使此GUI尽可能整洁和易于使用,而在某些更改时不必重做所有操作。所以基本上...

制作动态/可伸缩GUI的一些好的方法是什么?如果可能的话。

编辑-到目前为止,不错的东西,因为你们想知道我在说什么,所以这里有个主意。我有一个SQLite数据库,其中包含用于分组和显示格式的字段以及许多其他内容,这些内容被解析到左侧的动态配置树中,并且选项卡和组框都是从某些创意SQL动态生成的。有很多数据,所以通用的东西并不是一件坏事,因为无论如何,复杂的东西都会被低级用户所隐藏。我认为,如果数据库设置正确,可能会很好地工作。
我也有一个向导,需要一些工作,但由于它很少被使用,因此会使很多操作变得更容易。但是,无需通过向导即可访问所有这些内容,以便有人可以设置自定义配置。

10
radix07

我知道当您说“尽可能灵活到基本上由数据库控制GUI布局的程度”时,您在想什么,但这是一个警告信号:您将最终获得一个通用的应用程序。可用性成本。我在“程序员UI”中看到了很多东西,其中开发人员已将其数据库和面向对象的体系结构扩展到用户界面中。不幸的是,您通常最终会遇到为程序员而不是最终用户设计的用户界面。

我的建议是忘记寻找理想的超灵活,动态,可扩展的GUI,而开始确定可以针对的使用模式。如果您提供更多详细信息(例如您要设计的域,示例,模型等),那么我将在这方面为您提供更多帮助。


编辑:因此,按照您添加的屏幕快照,数据库的复杂性似乎正在溢出到UI中。我在这里看到的实际上是一个巨大的仪表板,上面充满了选择-我感觉自己像是在《星际迷航》中,面板上充满了发光的按钮!让我给您一个局外人的第一印象:

看来我们正在配置某些东西。通过选择左侧要配置的项目,右侧区域将使用与可以更改的参数相对应的输入字段进行更新?但是这些输入字段本身位于选项卡中,并且有太多选项卡从屏幕截图向右流动。另外,每个字段的标签充其量都是神秘的:“ Mx Ld Fct”。很好,悬停时,您会看到一个标签,上面有更多说明,但是我真的想将鼠标悬停在不同的项目上只是为了发现它们不是我想要的东西吗?这就像在寻找复活节彩蛋。此外,我不清楚左下角的“工具”是做什么的。尽管我不确定效果如何,但是左侧的两个窗格似乎都可以最大化。

我可以看到您要进行的操作,但是我建议您不要这样做。很难解释为什么以前没有经历过这个过程。我能提供的最佳建议是吸引一些立即使用此功能的人,并让他们使用该应用程序。与他们坐下来,让他们执行一些常见任务。无需评论,只需观察他们的工作并在记事本上写下您的想法。您会学到很多。每周与整个开发团队一起尝试并执行此操作。

13
Rahul

我有几点要考虑:

  • 确保长字符串不会破坏布局。自然地,我在谈论数据本身,但是周围的UI也可能会受到影响。例如,考虑带有按钮的命令栏。翻译按钮上的文字后,它们可能会变大并溢出条形图。
  • 使UI“延迟加载”一些信息,并考虑使用分页。例如,一次加载数千个项目可能会花费太长时间-确保UI在加载时不会冻结或损坏,或者先加载一页然后加载其余页面,同时用户也可以开始与之交互用户界面。

否则,我同意Rahul的观点,我们需要更多细节来具体说明。

4
Dan Barak