【发布时间】:2012-04-19 09:20:46
【问题描述】:
我想沿着将 WPF/Silverlight 组件移植到 Windows 8 的路线。对于一些上下文,该组件是 real-time WPF Chart,它使用 WPF/XAML 和位图渲染的混合来实现高性能。
我希望组件与 Metro 兼容,例如用于 Metro 模式和桌面模式。我阅读了很多关于在 Windows 8 中创建 C++/WinRT 应用程序以及 C#/XAML 应用程序的内容,但是这两个框架之间有什么区别?
如果您选择 C#/XAML 而不是 C++/XAML,是否有限制?还要考虑从 .NET4.0 中的 C#/Xaml 移植到 Windows8 会容易得多,如果我可以坚持使用 C#/XAML,但是我能否使用这种方法创建一个功能齐全的 Metro 组件?
感谢您的 cmets/建议。
编辑:
如果您投票关闭此线程,请发表评论原因。它是一个有效的问题,有 +6 票,四个答案和一个最爱。把它留给我似乎是合理的!
【问题讨论】:
-
如果速度很重要,请使用 C++/XAML,如果不使用 C#/XAML,如您所说,对您来说会更容易
-
但是在 C++ 中真的会更快吗?旧的论点 C# 与 C++ 的速度。您可以通过更好的编码来缓解许多 C# 的缺陷。我需要知道的是,C# 与 C++ 的功能集是否不同。例如。我可以在 C#/Xaml 中创建一个功能齐全的组件以同时针对 Metro 和桌面模式吗?谢谢!
-
在 C++ 中总是更快,但您不能创建同时在 Metro 和桌面上运行的项目。它必须是一个或另一个
-
疯了。那么你可以双重部署吗?就像您如何为 Silverlight 和 WPF 编写代码并将代码“共享”为链接一样?顺便说一句,如果你写出你所知道的答案,我很乐意投票:)
-
@Kobe:错了,错了,错了。组件编写器的 C++ 与 C# 有不同的答案。使用 C++ 是有利的,因为它不会拖入额外的依赖项。客户可能不会使用您的组件,因为他们的 C++ 代码不想加载 CLR。接下来:性能。在堆管理方面,C# 以显着优势击败 C++。如果您的应用程序创建了许多短暂的小对象,您将看到 C# 代码的运行速度提高了一个数量级。此外,WinRT 组件可用于 Windows 应用商店应用程序以及桌面应用程序。
标签: c# c++ xaml windows-8 microsoft-metro