Должно ли приложение WPF быть написано на C++ / CLI или C#?

приложения WPF являются, по своей сути, управляемыми приложениями? верно? Итак, я должен выбрать между использованием управляемого C++ или управляемого c#. Я экспериментировал с управляемым C++ много лет назад. Казалось, он не совсем готов к прайм-тайму. Я предполагаю, что Microsoft приложила больше усилий к управляемому c# , чем управляемому c++. Таким образом, кажется, что использование управляемого C# является лучшей альтернативой между ними. Это так? Какой опыт у вас был с WPF на любом языке? Спасибо продвижение.

6 ответов


управляемый C++ был заменен C++ / CLI, а "управляемый C#" - это просто C#.

Я настоятельно рекомендую вам использовать C# для нового проекта и использовать C++/CLI только при необходимости. C# имеет лучшую поддержку, имеет большую пользовательскую базу и проще работать внутри Visual Studio 2010.

кроме того, имейте в виду, что C++ и C++/CLI-это два разных языка. Для моего первого проекта .Net я выбрал C++/CLI, потому что я уже знал C++, и это была очень плохая идея: кривая обучения с C++ на C++/CLI похожа на изучение C# С C++: не попадайте в эту ловушку.


C++/CLI был создан только для поддержки написания слоев взаимодействия между неуправляемым кодом (т. е. собственным C / C++) и управляемым кодом. Для "тяжелого подъема" вы обязательно должны использовать C# (или VisualBasic.NET).


вы можете использовать управляемый C++ для вашего бэкэнда, но, при проверке, VS (я использую 2010 Ultimate) не имеет встроенных шаблонов для приложения WPF C++-только C# или VB.

Я уверен, что вы может заставьте его работать, если хотите, но я бы предложил вам использовать C#.


C# является наиболее часто используемым, поэтому, если у вас есть проблемы, есть больше онлайн-поддержки C#. C# также имеет лучшую поддержку Microsoft. Это в целом просто более готовый продукт, даже сейчас. Если вы действительно не заботитесь о себе, я бы пошел с C#.


с точки зрения бэкэнда, они оба работают на CLR и оба способны к работе. На самом деле все сводится к тому, с чем тебе удобнее всего. Если вы не уверены, поэкспериментируйте с обоими. Используйте то, что кажется наиболее продуктивным.

редактировать:

Как мне только что было указано, кажется, что поддержка шаблонов WPF (и, возможно, даже intellisense) просто не существует для C++. Поэтому в этом случае, я думаю, мне придется рекомендовать C#.


IMO без сомнения C# (или VB/F#).

C++ / CLI отлично подходит при пересечении границы управляемого мира и библиотеки c++. Сложность выше, хотя и тонкие проблемы возникают из - за того, что один сочетает управляемый язык и неуправляемый.

время компиляции больше, хотя и в C++ / CLI, тем более, что шаблоны кода моделируются после того, как компилятор C# работает не на том, как работает компилятор C++.