【问题标题】:Learning to create beautiful /next-generation GUI学习创建漂亮的/下一代 GUI
【发布时间】:2010-12-15 08:37:28
【问题描述】:

真的想创建一个外观精美的 GUI 桌面应用程序,例如:

  • Mac OS X 界面
  • Windows 上的 Picasa 桌面客户端
  • iPhone 应用程序
  • Office 2007

我主要使用 Qt/Swing/WinForm 编写 GUI

我已经厌倦了创建如此简单的 GUI,哈哈。

所以我正在考虑深入研究以下内容:

  • jQuery
  • WPF/C#
  • iPhone SDK
  • 银光
  • Adobe Air/Flex

只是为了获得一些关于如何创建非常酷的 UI 的想法。

这听起来像是一份不错的清单吗?这里有没有开发者可以分享他们使用什么平台来创建外观非常酷的桌面应用程序?

顺便说一句,我真的很想知道 Apple / Microsoft 的开发人员使用什么来开发他们自己的酷炫软件。

编辑 很多回复都在谈论可用性比“看起来很酷”的重要性..

我完全同意可用性和简单性是用户界面设计最重要的方面。我已经做了一段时间的 GUI 开发(> 3 年),所以我明白了。

但使用酷炫的 UI 也可以改善用户体验 + 它可能对您的软件是否销售产生巨大的影响。

我的意思是,否则为什么微软/苹果会在每次有新版本时尝试让他们的操作系统 UI 看起来“更酷”?为什么要像pragprog.com 或versionsapp.com 这样的网站。让他们的网站看起来像这样?基本上你可以用一块石头杀死 2 只鸟:令人惊叹的 UI + 超级易用性(因为它看起来简单直观)。

是我努力的方向。据我所知,我无法使用 Qt/Winform 实现这一点。我读过的大多数书都只是向您展示了如何制作看起来一般(阅读:1990 年代)的 UI。我想学习如何创建看起来很酷的 UI。这些天,我唯一看到酷炫 UI 的地方就是我上面列出的技术。我不迷恋任何技术。但我只想知道其他技术是如何完成的,看看我是否可以将它们应用到我正在使用的技术中,或者看看我是否可以在我的工作中使用这些技术。

举个例子:如果我要在 UIUI 之间进行选择,我可能会选择后者,如果仅基于外观的话。

从功能上讲,它们只是相同的 UI;它们都允许您跟踪您的时间。它们都包含按钮和文本框等。但它们看起来不同这一事实也使它们在吸引力方面有所不同。

所以总的来说,我认为“蛋糕上的冰”非常重要。我想说的是,在你确定你拥有一个完全直观、可用的 UI 之后,你就会努力实现这一目标。

【问题讨论】:

  • 不要想成为一个混蛋,但请记住,微软和苹果花费了数百万美元,并拥有世界一流的 UI 设计师和研究实验室来开发这些“下一代 UI” .仅仅学习一些新技术不会为新的 UI 方法打开许多大门。
  • 感谢雷克斯的评论。出于这个问题的目的,我不打算创造某种“下一代”的东西,因为它比我们现有的更好。我只是想学习如何创建与我们目前所拥有的一样酷的 UI。

标签: user-interface


【解决方案1】:

我认为许多人不擅长设计界面的主要原因是他们认为它们是图形设计。它不是。创建一个好的用户界面的核心有点像创建一个好的 API - 界面必须在概念上保持一致、不易误用、易于执行常见任务。

因为“厌倦了简单的 GUI”而想要设计一些很酷的东西是灾难的完美秘诀。如果没有别的原因,那么因为一致性是良好 UI 的关键部分。如果每个应用程序都想远离人群,那么整个事情就会变得一团糟。

不幸的是,Mac OS X 看起来那么好,因为人们开始认为您可以通过为其设置动画或在其顶部添加一些图形来创建一个好的界面。图形部分,设计的“酷”只是锦上添花。如果您真的想设计好的界面,请忠于环境,尊重当地的人机界面准则。也许阅读Apple’s Human Interface Guidelines 以了解问题出在哪里以及可以采取哪些措施来解决这些问题。

我知道这听起来比在 Photoshop 中填充渐变更无聊,但如果您真的想创建一流的界面,这是唯一正确的方法。

【讨论】:

    【解决方案2】:

    令人惊叹的图形用户界面的关键是双重的:

    1. 它仍然必须对用户有用,这涉及大量艰苦的工作、研究、纸质原型、用户访谈、可用性测试等。
    2. 聘请一位非常优秀的图形艺术家

    这两个步骤都不是可选的。如果你——程序员——也恰好是一个非常优秀的图形艺术家,那很好——但绝大多数都不是,而且没有任何花哨的工具和 Photoshop 教程可以取代真正的艺术家带来的才能和培训。

    我的意思并不是听起来很苛刻,但大多数程序员都是糟糕的 GUI 设计师。包括我自己。把艺术留给专业人士是可以的。 ;-)

    【讨论】:

    • 谢谢,史蒂文,没有冒犯。也许我会先按照书中的例子..看看它是如何完成的。
    【解决方案3】:

    我完全支持 WPF/Silverlight,但它确实与您需要支持的平台有关。 真正的事情是你自己的天赋,因为 WPF 是一个强大的工具,如果你没有天赋来使用它,它看起来就像改进的 winforms。 (还可以查看 MS 的 Expression Studio - 它可以增强您从 WPF 中获得的功能)。

    【讨论】:

      【解决方案4】:

      如果您想了解更多关于 UI 的信息,可以阅读以下书籍:

      About Face 3: The Essentials of Interaction Design

      The Inmates Are Running the Asylum

      UI 开发与技术无关。在某些情况下,控制台是最好的解决方案。

      【讨论】:

        【解决方案5】:

        我们可以获得商业 GUI 插件,例如 Telerik,它也支持 Mono。

        【讨论】:

          【解决方案6】:

          无论采用何种 UI 技术,您都可以采用一种编程风格,让应用的外观和逻辑尽可能地分离。这使您能够最大程度地灵活地设计和改进应用程序的外观(视图),同时可能需要在后端(模型或视图模型)中进行极少的代码更改。

          虽然可以使用所有 UI 技术,但在 WPF/Silverlight/Moonlight 的情况下,通过 MVVM 编程风格执行此操作特别容易,因为数据绑定的简洁性(非常少的样板“胶水”代码)。

          【讨论】:

            猜你喜欢
            • 2011-01-09
            • 1970-01-01
            • 1970-01-01
            • 2013-05-25
            • 2021-11-11
            • 1970-01-01
            • 1970-01-01
            • 2013-02-09
            • 2016-06-19
            相关资源
            最近更新 更多