Почему C++ / CLI не поддерживает веб-приложения?


Я потратил некоторое время, чтобы изучить C++/CLI, я чувствую, что это мощный язык .Net, особенно в концепции совместимости. Я думаю, что это будет большой шаг, если этот язык расширит свою совместимость, чтобы включить asp.net, до сих пор последняя версия не поддерживает asp. Но я не знаю, есть ли план сделать это в будущем варианте. Есть ли причина, по которой последняя версия C++/CLI не может работать с asp, как C# или VB?

3 2

3 ответа:

C++ / CLI никогда не рассматривался как язык общего назначения. Он в значительной степени существует только для целей совместимости.

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

Кроме этого, вы, вероятно, должны использовать C# (я думаю, что это не имеет особого смысла учись VB.NET если вы уже знаете C++). Другие альтернативы - F#, Если вы считаете, что ваше приложение выиграет от функционального стиля. Или IronPython (или IronRuby), если вы думаете, что выиграете от динамического набора текста.

И, конечно, вы можете смешивать языки, если часть приложения будет лучше в одном из них, а другая часть-в другом.

Еще одной причиной против использования C++ / CLI вообще является его слабая поддержка в VS (отсутствие IntelliSense) и способность C# взаимодействовать с собственными библиотеками DLL, использующими P / Invoke.

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

Компилятор Visual C++ не поддерживает частичный класс, то есть до тех пор, пока C++/CX не придет вместе с помощью проекции WinRT. Один obj-файл-ТВ-ЧГК традиции трудно сломать.

Без функции частичного класса конструкторам форм необходимо редактировать тот же файл, над которым вы работаете. Это означает разбор файла с большим количеством не относящегося к делу текста, работу с макросами и т. д., А самое главное-предотвращение ошибок, которые могли бы заменить ваш важный код, созданный дизайнером. Я не могу думать о многих команды хотят иметь дело с этим, особенно для небольших команд, таких как редактор настроек.

Кроме того, синтаксические анализаторы C++ работают медленнее, чем для более простых языков. Для веб-дизайнеров, если переход на язык similair может получить более быстрый конструктор и компилятор, почему бы и нет?

Я не уверен, что есть какая-то причина ASP.NET изначально не поддерживает C++ inline в файлах aspx, кроме того, команда разработчиков не думала, что это стоит затрат (я предполагаю, что это то, что вы имеете в виду).

Однако вы должны быть в состоянии реализовать код behinds в C++. Это должно обеспечить вам 95% пути туда, хотя вам все еще нужно будет кодировать свои страницы в C# или VB.NET.

Http://www.codeproject.com/KB/mcpp/helloworldmc.aspx (не моя статья, а просто ссылка)