代码之家  ›  专栏  ›  技术社区  ›  virtualmic

使用什么用户界面技术?[关闭]

  •  7
  • virtualmic  · 技术社区  · 16 年前

    好啊。。我很抱歉又问了一个经常被问到的问题,但我很困惑!

    首先是我的要求。

    1. 在Windows XP/7上开发/部署。
    2. 易于使用,对不太懂技术的用户具有视觉吸引力。
    3. 定期报告非营利组织的数据。
    4. 把.NET作为首选的后端,因为我已经花了一年时间学习C和框架。

    现在我的问题。

    1. 网上有很多相互矛盾的意见。有人说Winforms已经死了,WPF是前进的道路。
    2. 当我读到以下内容时,我几乎已经决定了WPF: http://www.riagenic.com/archives/363 。他说WPF死了!
    3. 我应该放弃桌面技术,转而关注网络技术吗?部署起来肯定会更容易,但即使完全信任,我也不会失去桌面技术所具有的与操作系统相关的优势吗?
    6 回复  |  直到 16 年前
        1
  •  2
  •   Murph    16 年前

    WPF现在就在这里,它现在可以工作了,“死了”或者不是,它不会很快消失(Visual Studio是用WPF构建的,就像表达式一样,以某种方式显示微软正在失去Scottgu。我的观点是,你可以指望它得到支持——对开发人员来说——还有一段时间)。

    正确地构建应用程序,最后,“wpf”位实质上只是应用程序顶部的一个表示层,因此您将有足够的空间适应未来的变化。

    就技能而言…WPF可能已经死了,也可能没有死了,但是Silverlight肯定有一些长腿,而且这些技能可以大量转移(XAML非常相似)。

        2
  •  11
  •   Michael Todd    16 年前

    嗯,棘手的问题-主要是因为有很多可用的选项:

    • Windows窗体
    • WPF
    • Silverlight
    • HTML5/ASP.NET

    与任何告诉你“X死了”的人相反, 这四项技术都是活的和好的 . 更重要的是,所有这些技术 不同的 因为每种技术都适用于不同的情况,所以没有一个简单的规定的“使用X”的答案。 选择使用哪一个完全取决于您所拥有的特定需求。

    首先,我将逐一介绍您的要求:

    1。在Windows XP/7上开发/部署。

    以上任何/全部适用于Windows XP/7。

    2。易于使用,对不太懂技术的用户具有视觉吸引力。

    完全有可能使用上述任何一种技术来生成易于使用且具有视觉吸引力的界面,但是值得注意的是,这些技术彼此之间都有很大的不同——HTML5应用程序将具有非常不同的 外观和感觉 (不一定比例如Windows窗体应用程序更好或更差)。

    在不了解更多关于具体需求的信息的情况下,很难在这一点上说得更多,但是您当然不应该仅仅基于可用性和外观来消除任何选择,因为其他因素(包括一般的润色)将产生更大的影响。

    三。定期报告非营利组织的数据。

    如果您对报表的显示方式有任何特定的要求,那么您可能需要查看针对上述每种技术可用的报表/图形库。

    尽管在所有4个选项中都有显示报告+图表的各种选项,但您可能会发现某些选项非常突出。

    4。以.NET作为首选后端。

    以上都是.NET技术。

    接下来,让我们看看您应该考虑的其他一些考虑因素(按优先级顺序)

    您是否已经熟悉这些技术中的一种或多种?

    如果您已经有开发基于Web的应用程序的经验(例如),那么除非其他要求排除了基于Web的应用程序,否则您可能希望选择基于Web的解决方案。

    决定基于Web和基于Windows的界面。

    在这个阶段,您应该在基于Web和基于Windows的界面之间进行选择。

    我总是选择支持基于Windows的应用程序(即WPF或Windows窗体),除非有令人信服的理由支持基于Web的应用程序,因为在UI需要如何处理Windows应用程序方面,您受到的限制要少得多。

    看看每种技术的优点

    在这一点上,您应该在一个2匹马的比赛-WPF vs Windows窗体和HTML5 vs Silverlight。除非您有以往的经验,否则您需要了解每种技术的个别优点(包括部署问题-WPF和Silverlight都要求在客户端上安装.NET 3.0或更高版本),以便做出明智的决定-这可能是一个很好的观点,可以看一些简单的原型制作。

    如果选择的是HTML5和Silverlight,那么我恐怕真的帮不上忙,因为我对Silverlight的体验有限,但是如果您选择的是WPF和Windows窗体,那么我的建议是选择Windows窗体,除非您有一个难以实现的要求,否则我会选择Windows窗体。n个Windows窗体,在WPF中很简单。

    WPF在某些方面非常出色(例如显示高度定制的网格或华丽的动画),但是如果您不需要这些东西,那么Windows窗体是一个更简单、更成熟和(IMO)更容易理解的窗体。虽然Windows窗体应用程序可能没有漂亮的图形,但最终它是 磨光 这决定了一个应用程序是否真正有吸引力和易于使用,以我的经验来看,Windows窗体应用程序更容易抛光。

        3
  •  3
  •   Morten Bergfall    16 年前

    我建议从WinForms开始,
    感觉“更接近”开发ASP.NET、控制台应用程序等; 至少根据我的经验(在某种程度上是你的情况下)。

    Winforms(据我所知)“永远”不会完全崩溃。


    补充:

    为了满足您的特定需求,唯一一个WinForms和WPF可以有很大差异的需求,
    是“2”。对不太懂技术的用户来说,使用简单,视觉上很吸引人。”

    从严格的ASP.NET到C背景,我一直在玩这两种游戏,直到 我有一些基本的(和可编译的)应用程序可以利用它们。

    我奶奶不敢碰WPF的,基本的WinForms很吸引人。
    “不太懂技术”最重要的是他们的熟悉度,因此“安全(可预测)使用”。

    添加了更多…: 关于放弃桌面技术在浏览器中运行的任何东西,保证在这两个方面都有彻底的经验。就开发的易用性而言,基本上是所有方面的易用性;除非
    只有浏览器中的应用程序才能解决特定的情况,我真的不建议这样做。

    我的两分钱: ASP.NET使向WinForms的转换变得简单;然后ASP.NET+WinForms+HTML/JS/etc使WPF非常容易访问。我可能是这里的蝙蝠,但对我来说,.net有一个明确的知识路径……

        4
  •  1
  •   warsong    16 年前

    问自己是否需要在webapp中无法提供的东西?

    从您的描述来看,似乎您可以在不使用winforms或wpf的情况下完成它,而只使用带有webforms的asp.net。

        5
  •  1
  •   ChrisW    16 年前

    部署起来肯定会更容易,但即使完全信任,我也不会失去桌面技术所具有的与操作系统相关的优势吗?

    如果完全信任,您甚至可以拥有.NET控件、添加到网页并在浏览器中运行(仅限IE),后者可以访问O/S(例如,通过pinvoke)。

        6
  •  1
  •   MaQleod    16 年前

    WinForms比WPF更易于使用,只是视觉上不那么吸引人,因此您需要决定什么对您更重要,而不是其他人对UI未来的看法。 基于Web的应用程序都有自己的位置,而且大多数情况下,您希望多台计算机都可以访问同一个UI和存储的数据,而无需在客户端计算机上安装任何东西。这对公司内部网很好,比如时间管理应用程序和调度应用程序等等。 如果你正在寻找的东西将是个人的计算机将运行它,你肯定想要一个桌面应用使用winforms或wpf。如果这是为了公司计算机,您可能更喜欢WinForms,只是为了尽量减少资源使用。

    推荐文章