Должно ли приложение WPF быть написано на C ++ / CLI или C #? - PullRequest
10 голосов
/ 12 августа 2010

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

Ответы [ 6 ]

14 голосов
/ 12 августа 2010

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

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

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

4 голосов
/ 12 августа 2010

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

2 голосов
/ 12 августа 2010

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

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

1 голос
/ 12 августа 2010

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

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

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

1 голос
/ 12 августа 2010

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

1 голос
/ 12 августа 2010

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

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

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

...