С# — один из наиболее популярных языков программирования в мире, хотя его начали разрабатывать еще в прошлом веке. Он задумывался как альтернатива Java, но нашел собственный, вполне успешный путь. C# преподают в большинстве технологических вузов мира. Windows — все еще самая популярная компьютерная ОС, так что выбор удобной среды разработки — актуальный вопрос. Попробуем на него ответить.
Visual Studio
Описание: самая «правильная» среда разработки. С Visual Studio многие начинают знакомиться с языком и не расстаются с ней на протяжении всей карьеры программиста.
Плюсы:
- Официальная. Так как и язык, и среда разработки созданы в Microsoft, логично предположить, что ничего более функционального вы не найдете во всем Интернете. В некоторых случаях без Visual Studio не обойтись — например, при использовании технологий UWP и WPF.
- Бесплатная. Версии «Community edition» для рядового пользователя будет достаточно. Тем более, теперь можно подключать плагины (в отличие от старой версии Express).
- Функциональная. В Visual Studio множество качественных плагинов. С их помощью можно расширить функциональность приложения и подключить другие языки.
- Поддерживает платформы .NET. Visual Studio имеет широкие возможности по разработке приложений под Windows, в том числе в .NET-сегменте.
- Облачные хранилища. Зарегистрируйтесь в сообществе Visual Studio — и получите доступ к облачному хранилищу, где сможете располагать файлы проектов.
- Корпоративность. Технология бэклога позволяет членам команды взаимодействовать при гибкой методологии разработки.
Минусы:
- Баги при переходах с триал-версии. При переходе на платную версию могут теряться настройки и нарушаться работа корпоративного сервера.
- Сложность. Самостоятельно освоить Visual Studio новичку будет непросто — слишком много доступных функций, спрятанных в подразделах меню.
Project Rider
Описание: среда от JetBrains для работы с платформой .NET. Выпущена в прошлом году, но уже приобрела много поклонников.
Плюсы:
- ReSharper. Это плагин, изначально разработанный для повышения производительности Visual Studio. Теперь на его основе выпущена IDE.
- Поддержка полного цикла. Фирменная черта продуктов JetBrains, воплощенная и в Project Rider. С ним вы сможете организовать весь цикл создания ПО: от идеи до поддержки.
- Функциональность. Project Rider позволяет подключить MSBuild и XBuild, работать с CLI-проектами и организовать отладку приложений .NET and Mono. Множество опций для быстрого создания кода улучшает производительность.
- Multiple runtime. Поддержка нескольких запущенных программ.
- Кроссплатформенность. Project Rider работает с Windows, Linux и MacOS.
- Контроль версий. Встроенный инструмент позволяет напрямую организовать работу с Git, Mercurial и TFS.
Минусы:
- Молодость. Часть функциональности еще в разработке, не все стартовые баги исправлены.
- Стоимость. Самая дешевая версия Project Rider обойдется в 139 долларов за первый год использования. Но есть триал-версия и специальные предложения для студентов и непрофильных организаций.
Eclipse
Описание: одна из самых популярных мультиязычных сред. Ориентирована преимущественно на разработку Java-приложений, но полезна и для кодов на C#.
Плюсы:
- Множество плагинов. У Eclipse едва ли не самое большое число надстроек — «на все случаи жизни».
- Активное сообщество. Помогает быстрее освоить среду разработки, выпускает новые плагины.
- Отличные компилятор и отладчик. Первый работает на порядок быстрее, чем у конкурентов, второй — показывает потоки, пересечения, позволяет гибко управлять ходом отладки.
- Кастомизация. Благодаря плагинам и настройкам можно полностью персонализировать Eclipse.
- Бесплатность. Это open-source проект, абсолютно бесплатный.
- Высокая функциональность. Благодаря разработчикам-официалам и членам сообщества с помощью Eclipse можно провести любой C#-продукт по полному циклу разработки.
Минусы:
- Сложность. Как и любой функциональный продукт, Eclipse может показаться новичку слишком сложным.
- Нет гарантий надежности. Так как плагины создаются сообществом, за их качество отвечает только разработчик. Кроме того, сами создатели Eclipse с каждой новой версией плодят баги, не успевая порой исправлять старые.
Visual Studio Code
Описание: кроссплатформенный редактор кода, который при помощи плагинов можно «подтянуть» к статусу IDE.
Плюсы:
- Кроссплатформенность. Работает на MacOS, Ubuntu и Windows. Пока недоступен на Android и iOS.
- Бесплатность. Простой open-source редактор и плагины — платить не надо.
- Легковесность. Потребуется совсем мало ресурсов, чтобы приступить к работе с минималистичным VSC.
Минусы:
- Низкая функциональность. Несмотря на поддержку .NET-платформы, VCS неудобен для сложных проектов.
- Сомнительная надежность. Многие надстройки имеют низкое качество сборки и не всегда выполняют даже основные функции.
MonoDevelop
Описание: свободная среда разработки от Xamarin для создания приложений на множестве языков, в том числе на C#.
Плюсы:
- Мультиплатформенность. Поддерживает Linux, Windows и Mac OS.
- Кастомизация. На рабочем столе можно расположить функции и окна по своему усмотрению.
- Unity 3D. Полноценная поддержка популярной платформы для разработки игр.
- Бесплатность.
Минусы:
- Ограниченная функциональность. У MonoDevelop есть собственный отладчик и инструменты для работы с кодом. Но в части поддержки разных платформ и проектов — это пока сырая IDE.
Code::Blocks
Описание: среда разработки, известная простой и удобством в настройке и использовании.
Плюсы:
- Бесплатность. Полноценный open-source проект.
- Простота. В отличие от Visual Studio, среда Code::Blocks понятна новичку, знающему один из поддерживаемых языков.
- Кроссплатформенность. IDE запускается на любой десктопной ОС.
- Выбор компилятора. Code::Blocks ограничена в функциональности, но эта возможность — несомненный плюс.
- Легковесность.
Минусы:
- Недостаточная функциональность. Для создания комплексных приложений Code::Blocks категорически не подходит.
- Нестабильность. Приходится сталкиваться с нелепыми ошибками в отладке и некорректной работой всей среды.
Заключение
Список IDE, получаемых даже при подключении сторонних плагинов, мал относительно Java или PHP. Но это тот случай, когда малое количество компенсируется качеством: в числе предложенных сред каждый сможет найти подходящую — по планируемым задачам и потребляемым ресурсам.
Комментарии