在从事过Web设计和Android的工作之后,我终于开始从事桌面软件的工作,直到我真正启动桌面UI设计的开发周期遇到了严重的延迟。到目前为止的经验是痛苦的。我决定使用Java对该程序进行编码,因为这样我就可以将跨平台API用于套接字和无线接口(我的程序高度依赖该API,并且可以成功运行)。

Web和Android UI设计:

HTML / CSS / Javascript; XML / Android API->提供高度的灵活性,自定义和快速的UI开发周期。

Java桌面UI设计

AWT / Swing / Swing FX->


从问题herehere可以看出,几乎不可能进行自定义。如果可以进行定制,则实施定制将大大增加开发时间,如here所示。它还增加了代码的复杂性,并且在大多数情况下,该解决方案是本地的,并且不适用于跨平台(至少是Linux,Windows,Mac)。大多数UI设计人员实际上并不需要本机的默认外观。
拖放选项很好,例如,缩短了开发时间。 Window Builder。但是缺少添加ImageView之类的选项。并且,如果需要第2点中提到的自定义,则必须对自动生成的代码进行大量修改,从而完全避免使用Drag-n-drop。


谁能建议我一个非常好的或接近好的UI工具,或者说具有以下功能的UI Engine(如果存在):

    1. Quick development time. Drag-n-drop, HTML/CSS/XML like methods to design.

    2. Everything is cross-platform, including customization solutions.

    3. High degree of customization. Developer designs what looks good to him/her,
       without increasing time-to-develop much.

    4. Also cross-language. That is, has wrappers for all major programming languages,
       like C++,Java,Python etc.


我认为最好的方法或工具是:


Qt Framework。对于UI来说非常好,但是如果有包装器,那真的很好
适用于Java和其他语言。它不会减少开发时间,并且会
需要手动编码,但是可以使界面看起来非常好,并且
可用的。
WxPython。另一个很好的工具,如果有其他包装器,那就太酷了
语言。
一些工具,可以使用类似HTML / CSS / XML的语法设计桌面UI
使用方便。
停止思考UI工具,要么

一个。只需停止抱怨,并使用默认值和现有工具以及本机
看起来。

b。手工编写所有内容,并针对每个平台分别进行自定义。

C。用Java编写图形画布并编写UI,就像编写场景一样
在游戏中。


如果您有其他意见,或者有更好,更简便的选择,请提出建议。

谢谢。

最佳答案

我认为,近视“几乎不可能进行定制”,您可以在here中查找有关外观的信息,如果您喜欢冒险,则可以创建自己的信息。人们对Swing的自定义所遇到的许多问题更多是由于缺乏了解,而不是API的灵活性,实际上,我发现Swing属于最灵活和可自定义的工具包-IMHO。

您还可以查看here有关如何制作自己的组件的信息

您需要意识到的是,随着您逐渐接近“快速工具”,您开始降低灵活性和可定制性,因为这些工具开始将您锁定。

我没有WindowBuilder的经验,但是NetBeans表单设计器允许您包括项目类路径中的任何组件,包括您已构建或下载的任何组件。

我同意,经常对Swing提出的批评之一是启动它并花费多长时间。这归结为为灵活性和可定制性而设计的API。最终开发者应根据最适合其需求的API来构建库。

大多数人会告诉您避免使用屏幕构建器来支持手动编码。就个人而言,我喜欢屏幕构建器,但我坚持认为我的初级开发人员应很好地了解布局管理器的工作原理,并建立诸如复合布局之类的设计技术。

我认为许多人遇到的问题之一就是忘记构建应用程序。尽管我喜欢外观漂亮的应用程序,但与看起来漂亮的应用程序相比,我仍然更喜欢实际执行其设计目的并且性能良好的应用程序。

恕我直言

关于java - 桌面UI设计工具,最好是Java或Java包装器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14418682/

10-11 22:46
查看更多