开发在DESKTOP和BROWSER上运行的应用程序的最佳技术?

时间:2008-09-17 06:09:24

标签: c++ client distributed

Microsoft WPF? Adobe AIR / Flex? Adobe Flash?卷曲编程语言?

AJAX如何适应?

给定一个用C ++ .NET编写的服务器。

8 个答案:

答案 0 :(得分:1)

答案确实取决于您的应用程序实际执行的操作以及您的平台要求。

如果它是一个常规的Web应用程序,比如gmail,你希望它可以在很多浏览器和平台上运行;然后我推荐HTML,CSS和GWT的组合,因为这意味着你的应用程序代码都是Java,它很容易重构模块化和维护,那里有大量的Java程序员和Java的IDE是太棒了(IntelliJ或eclipse等)。

然后,您可以使用Siverlight或Flex等浏览器插件,如果它们有意义(例如Google finance使用Flash进行交互式图表)。

如果您的应用程序是高度图形化的,如Visio类型的东西或需要嵌入Microsoft Office或其他东西;您可能希望查看Silverlight / Flex / AIR,特别是如果您可以为内部应用程序指定浏览器版本和平台。

虽然客户端没有明确的单一答案(只看这个帖子上的评论:)有很多选项(Java Applets / Swing / JavaFX,Ajax,GWT,Air / Flex,Silverlight / .Net等)都有优点和缺点。我对客户端和C ++服务器之间通信的建议是将您的C ++应用程序公开为一组RESTful资源 - 然后在任何时候您都可以轻松地在任何语言技术或框架中编写其他类型的客户端。

答案 1 :(得分:0)

使用WPF,您可以构建桌面,然后几乎1:1将其移植到Silverlight并定位到网络

答案 2 :(得分:0)

Silverlight怎么样?

当UI层可以基于前端类型呈现并且与业务模型没有很强的关系时,应用MVP模式的基于XAML的解决方案可能非常好。

干杯!

答案 3 :(得分:0)

我记得看到一个免费的C ++库,它为您提供了基于Web的UI。 没试过,也不记得它的名字,但如果你想要C ++那就可以了。

或许我会选择Adobe的Air或Google的Gear。 如果你想要一些你周末可以做的事情。

答案 4 :(得分:0)

考虑在Silverlight中开发应用程序,并使用以下两种方法之一来使桌面上运行相同的Silverlight应用程序。我承认这些都只是愚蠢的伎俩,但如果您的应用程序没有太多的层依赖性,它会有所帮助。

1)http://jobijoy.blogspot.com/2008/09/desklighter-handy-tool-for-silverlight.html 2)http://geekswithblogs.net/lbugnion/archive/2008/04/24/silverlight-running-standalone-full-trust-applications.aspx

另一项来自微软的技术称为Live Mesh,也将支持离线和在线silverlight应用程序。

答案 5 :(得分:0)

我们创建了一个在浏览器中或作为独立应用程序进行3D可视化的应用程序。

应用程序使用JavaScript(用于app逻辑)和C ++(用于3D渲染)编写,并使用http://www.trolltech.com中的Qt库。

在浏览器中运行时,应用程序包含在薄层中作为ActiveX控件(用于IE)和Netscape浏览器插件(用于Firefox,Mozilla,Netscape,Opera)。 Qt或多或少地自动包装插件。

答案 6 :(得分:0)

你的两个主要选择是Silverlight / WPF& Flex / Air。

如果您熟悉.NET框架,请使用第一个,如果您对Flash / ECMA脚本更熟悉,请使用后者。

使用最佳工具完成工作。如果两个工具都相同,请使用您受过更多训练的工具,或者选择最简单的工具。

答案 7 :(得分:0)

创建一个DHTML / Ajax应用程序并使用Google Gears来保存数据,以便在脱机时它仍然可以正常运行。