一个丰富的UI桌面应用需要哪些技术?

5

我即将要开发一个桌面应用程序以完成实习任务,重点在于创建一个富有交互性的UI(诸如酷炫的效果和声音等)。我应该选择哪种技术呢? - Flash?(在这种情况下,我应该选择Flex项目吗?AIR?相对于简单的原始Flash项目,这有什么优势) - C# / Silverlight? 还有其他可能性吗?

如果有经验的开发人员能够给出建议,那将非常感谢。


Flash对于桌面应用程序非常有限(因为安全限制)。它真正的用途是在网页中使用。但我不确定哪种替代方案更适合您的需求。这也可能取决于您开发应用程序的时间长短(某些平台比其他平台更复杂)。 - Cameron
你应该填写更多信息,比如它需要在哪些平台上运行?仅限Windows?还是Os X?或者两者都可以? - taudep
它需要针对哪些平台?你是来自ActionScript、.Net还是其他背景?你的设计技能如何?你有哪些IDE/设计软件或预算可以获得? - Graeme Bradbury
5个回答

8
最好使用的技术可能就是你最熟悉的技术,除非你打算边学边用。但对于各种选项,我会尝试解释一下。
Flash本身(运行时)是一个浏览器插件,所以这不是你想要的,但如果你使用Flash或Flex(创作工具)构建应用程序,那么你可以将其发布为AIR应用程序。AIR也是一个运行时 - 基本上它就是Flash,再加上一堆额外的API,用于在浏览器之外运行。制作AIR应用程序的优点包括:
  • 相同的应用程序可在win/mac/linux上运行
  • 您可以使用与Flash相同的技能/工具进行制作(当然,如果您没有这些技能/工具,则此项有限效用)
  • 与其他Adobe工具(如Photoshop、After Effects等)紧密集成的工具
主要缺点是无法完全访问本机(即操作系统)功能。运行时允许您在win/mac/linux上运行相同的应用程序,是通过限制您执行某些原生应用程序可以执行的操作来实现的。
至于Flex,是否使用Flex是一个单独的问题。Flex是Flash内的一个框架 - 可以使用Flex或不使用它来制作AIR应用程序。基本上,如果您期望应用程序具有许多控件、滑块、图表、手风琴面板等,则可以考虑使用Flex。如果您期望它具有许多动画、图片和声音,那么普通的Flash可能更好。
除了Flash之外,运行时的其他主要选择是Silverlight。那里的优点实际上基本相同。您使用.NET而不是ActionScript,并且工具集成是使用MS的Expression套件而不是Adobe的创意套件,但开发过程和结果非常相似。在AIR和Silverlight之间的选择实际上是在Adobe工具和MS工具之间以及在两种编程语言之间进行完全可比较的选择。大多数人只是使用他们更熟悉的那个。
最后,另一组选项是不使用运行时,而是从任何语言/开发环境编译应用程序 - C、C++、.NET、Python或其他任何语言。这里的优点是您(通常)可以完全访问操作系统功能。缺点是,您(通常)需要进行额外的开发才能在多个平台上运行,并且我认为您不会找到一个语言/环境,让您像在AIR和Silverlight中那样轻松地处理多媒体。

1

取决于你精通哪些编程语言。如果你是 .NET/C#/VB.NET 开发者,可以选择 SilverLight 或 WPF。如果你熟悉 ActionScript,则可以选择 Adobe 系列产品。


0

我更喜欢(稍微)更开放的宇宙。假设您知道如何编写面向对象的程序,Adobe使用Eclipse作为其工具的基础,使用插件。 Actionscript就像Javascript语法一样。您只需要学习flex 4库。 然后,将您的应用程序发布为可以在任何地方运行的Air桌面应用程序。真正的到处都能运行。

关于MS工具、语言和库唯一需要知道的是它们设计得非常好且易用。而且它只能在Win和mac上运行。仅此而已。


0
如果主要请求是具有丰富的用户界面,则最简单的方法是构建在Adobe AIR平台下运行的Flex应用程序。回答Flash或Flex的问题非常简单:如果您是设计师,请选择Flash;如果您是开发人员,请远离Flash并使用Flex。Flex框架是为开发人员创建的,而在Flash中真的很难复制其所有功能(只考虑如果您想调整应用程序大小时需要在Flash中执行的操作)。
另一方面,如果您来自.NET背景,则将继续使用Silverlight/C#更有意义。

0

我不确定这是否有帮助,但我正在使用Flex进行开发,现在我开始学习Silverlight,我可以说,在Flex Builder中开发比在Silverlight(Visual Studios)中开发要快得多。对我来说,Flex Builder更好,因为您只需使用一个IDE即可同时开发前端和后端。这是在Web开发方面的优势。如果您想要制作桌面应用程序,则可以执行相同的操作,并且加上的是您可以在一个文件中获得所有内容。您还可以使用一个小型SQL数据库。

但另一方面,当您在Silverlight中开发时,您必须使用几个IDE或工具来制作出色的图形。但是,如果您想要更多的设计时间,那么我建议使用Flex Builder而不是Silverlight。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接