微软WPF?Adobe AIR/Flex?Adobe闪存?卷曲编程语言?
AJAX 如何适应?
给定一个用 C++ .NET 编写的服务器。
答案确实取决于您的应用程序实际执行的操作以及您的平台要求。
如果它是像 gmail 这样的常规 Web 应用程序,并且您希望它可以在许多浏览器和平台上运行;那么我推荐 HTML、CSS 和GWT的组合,因为这意味着您的应用程序代码都是 Java,它很容易重构模块化和维护,那里有大量的 Java 程序员,Java 的 IDE 很棒(IntelliJ 或日食等)。
然后,您可以在有意义的情况下使用 Siverlight 或 Flex 等浏览器插件(例如,Google 财务使用 Flash 制作交互式图表)。
如果您的应用程序是高度图形化的,例如 Visio 类型的东西或需要嵌入 Microsoft Office 或其他东西;您可能想看看 Silverlight/Flex/AIR,特别是如果您可以为内部应用程序指定浏览器版本和平台。
虽然客户端没有明确的单一答案(只需查看此线程上的评论 :) 有很多选项(Java Applets/Swing/JavaFX、Ajax、GWT、Air/Flex、Silverlight/.Net 等)都有优势和弱点。对于客户端和 C++ 服务器之间的通信,我的建议是将 C++ 应用程序公开为一组 RESTful 资源 - 然后在任何时间点,您都可以轻松地使用任何语言技术或框架编写其他类型的客户端。
使用 WPF,您可以构建桌面,然后几乎 1:1 将其移植到 silverlight 并以网络为目标
银光呢?
此外,应用 MVP 模式的基于 XAML 的解决方案可能非常好,当 UI 层可以基于前端类型呈现并且与业务模型没有强关系时。
干杯!
我记得看到一个免费的 C++ 库,它为您提供了基于 Web 的 UI。没有尝试过,也不记得它的名字,但如果你想要 C++,这可能是诀窍。
或者我可能会选择 Adobe 的 Air 或 Google 的 Gear。如果你想要一些你可以在一个周末做的事情。
考虑在 Silverlight 中开发应用程序,并使用以下 2 种方法中的任何一种来使相同的 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 应用程序。
我们创建了一个在浏览器中或作为独立应用程序进行 3D 可视化的应用程序。
该应用程序是用 JavaScript(用于应用程序逻辑)和 C++(用于 3D 渲染)编写的,并使用来自http://www.trolltech.com的 Qt 库。
在浏览器中运行时,应用程序作为 ActiveX 控件(用于 IE)和 Netscape 浏览器插件(用于 Firefox、Mozilla、Netscape、Opera)被包裹在一个薄层中。Qt 会或多或少地自动包装插件。
您的两个主要选择是 Silverlight / WPF 和 Flex / Air。
如果您熟悉 .NET 框架,请使用第一个,如果您更熟悉 Flash/ECMA 脚本,请使用后者。
使用最好的工具来完成这项工作。如果两种工具相同,请使用您训练有素的工具,或者使用最简单的工具。
创建一个 DHTML/Ajax 应用程序并使用Google Gears保存数据,以便它在离线时仍然可以运行。