学习创造漂亮/下一代GUI

时间:2009-11-11 05:48:14

标签: user-interface

真的希望创建一个令人惊叹的GUI桌面应用程序,例如:

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

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

我厌倦了创建如此简洁的GUI,哈哈。

所以我在考虑潜入以下的东西:

  • 的jQuery
  • WPF / C#
  • iPhone SDK
  • Silverlight的
  • Adob​​e Air / Flex

只是想知道如何创建非常酷的UI。

这听起来像个好名单吗?这里的所有开发人员都可以分享他们用来创建非常酷炫的桌面应用程序的平台吗?

在旁注中,我真的很想知道Apple / Microsoft的开发人员使用什么来开发自己看起来很酷的软件。

修改 很多回复都谈到了可用性对于“看起来很酷”的重要性。

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

但是,使用外观酷炫的用户界面还可以改善用户体验+它可能会对您的软件是否销售产生重大差异。

我的意思是,否则为什么Microsoft / Apple会在每次有新版本时尝试让他们的操作系统UI看起来“更酷”?为什么网站会像pragprog.com或versionsapp.com。让他们的网站看起来像那样?基本上你一石二鸟:看起来很模糊的UI +超级可用性(因为它看起来简单直观)。

是我正在努力的目标。据我所知,我无法使用Qt / Winform实现这一目标。我读过的大部分书籍都向您展示了如何制作平均外观(阅读:1990年代)UI。我想学习如何创建外观酷炫的UI。我现在看到的唯一一个看起来很酷的用户界面的地方就是我上面列出的技术。我并不喜欢任何技术;但我只想知道其他技术是如何完成的,看看我是否可以将它们应用到我正在使用的技术中,或者看看我是否可以在我的工作中使用这些技术。

一个例子:如果我要在这个UI和这个UI之间选择,我可能会选择后者,如果只是基于外观。

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

总而言之,我认为“冰上蛋糕”非常重要。在你确定你有一个完全直观,可用的用户界面后,我会说这是你努力的事情。

6 个答案:

答案 0 :(得分:8)

我认为很多人设计界面的主要原因是他们认为它们是图形设计。它不是。创建良好用户界面的核心有点像创建一个好的API - 界面必须在概念上一致,难以滥用,易于执行常见任务。

想要设计一些很酷的东西,因为你“厌倦了普通的GUI”,这是一个完美的灾难处理方法。如果没有别的,那么因为一致性是良好UI的关键部分。如果每个应用程序想要远离人群,那么整个事情将是一个无法使用的混乱。

Mac OS X看起来很不错,这几乎是不幸的,因为人们开始认为你可以通过动画制作一个好的界面或者在它上面洒一些图形。图形部分,设计的“酷”只是锦上添花。如果您真的想要设计良好的界面,保持对环境的忠诚,请​​遵守当地的人机界面指南。也许请阅读Apple’s Human Interface Guidelines以了解问题所在以及解决问题的方法。

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

答案 1 :(得分:4)

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

  1. 它仍然必须对用户有用,并且涉及大量的辛勤工作,学习,纸质原型,用户访谈,可用性测试等。
  2. 聘请一位非常优秀的图形艺术家
  3. 这两个步骤都不是可选的。如果你 - 程序员 - 也恰好是一位非常优秀的图形艺术家,那很好 - 但绝大多数都没有,并且没有多少花哨的工具和Photoshop教程将取代真正的艺术家带来的才能和培训。< / p>

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

答案 2 :(得分:3)

我全都是WPF / Silverlight,但它确实是关于你需要支持的平台。 真正的交易是你自己的才能,因为WPF是一个强大的工具,如果你没有使用它的天赋,它看起来会像改进的winforms。 (另请参阅MS中的Expression Studio - 它可以增强您从WPF中获得的功能)。

答案 3 :(得分:1)

如果您想了解有关用户界面的更多信息,可以阅读本书:

About Face 3: The Essentials of Interaction Design

The Inmates Are Running the Asylum

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

答案 4 :(得分:0)

我们可以获得像Telerik这样的商业GUI插件,它也支持Mono。

答案 5 :(得分:0)

无论UI技术如何,您当然都可以采用编程风格,其中应用程序的外观和逻辑尽可能地分离。这使您可以最大限度地灵活地设计和改进应用程序(View)的外观,同时可能需要在后端(Model或ViewModel)中进行非常少的代码更改。

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