- Разработка приложений на С# в Linux среде
- Other Linux
- lsreg’s IT blog
- Как писать на C# на linux
- Пишем приложение на C# на ubuntu
- Как подключить nuget пакет в .Net Core
- Лучшие IDE для разработки на C#
- Visual Studio
- Project Rider
- Eclipse
- Visual Studio Code
- MonoDevelop
- Code::Blocks
- Заключение
- Visual Studio
- Project Rider
- Eclipse
- Visual Studio Code
- MonoDevelop
- Code::Blocks
- Заключение
Разработка приложений на С# в Linux среде
C# — язык для разработки .NET приложений от Microsoft. Если название последней фирмы Вас не испугало и всё-таки нужно писать эти приложения — можно делать это в любимой ОС. В статье рассмотрен необходимый софт, а также создаётся первая программа.
Почти все знают, что .NET — платформа, разработанная компанией Microsoft, а эта корпорация ничего не делает задаром… Итак, язык C#. Хммм, странно, почему же он так напоминает Java? Ладно, проехали… Будем надеяться, что M$ заплатят за свои грехи. Но иногда даже заядлым линуксоидам приходиться программировать на этом языке. Не лезть же для этого в популярную проприетарную ОС? В этом случае нам на помощь приходит проект Mono. Вот, что про него пишут на официальном сайте:
Mono provides the necessary software to develop and run .NET client and server applications on Linux, Solaris, Mac OS X, Windows, and Unix.
То есть это тот набор утилит, что нам нужен. Собранные пакеты есть почти для всех популярных дистрибутивов Linux, либо сразу входят в набор дополнительного (но не установленного) софта. Итак, скачать Mono можно со странички http://www.mono-project.com/Downloads. Если готового пакета для нужного дистрибутива нет — то можно собрать Mono из исходного кода. Правда, компилируется он довольно долго.
После установки Mono мы уже можем успешно запускать .NET-приложения. Даже те, которые были написаны в Windows и имеют расширение .ехе. Но радоваться тут нечему — приложения “летают” со скоростью эмулятора. Хотя, под Windows скорость их работы примерно такая же 🙂
Разработчики Mono обещали нам также возможность разработки приложений. Но где же она? Mono — чисто консольное приложение и предназначено для запуска .NET программ. А возможность разработки заключается в том, что в комплект входит ещё и компилятор C#. Никакой удобной IDE для разработки в пакете нет. Это не понравится девелоперам, которые уже успели попользовать проприетарную Visual Studio. Но в Linux даже из безвыходных ситуаций всегда найдётся выход! 🙂
Удобная IDE для разработки С# приложений есть! И она называется MonoDevelop. Эта среда не входит в пакет Mono, так что качать и ставить её придётся отдельно. Скачать можно с официального сайта: http://www.monodevelop.com/Download. Надеюсь, с установкой у читателя проблем не возникнет.
Теперь создадим свой первый проект на С# под Linux. Для этого нужно запустить monodevelop. По медленной скорости загрузки этого приложения можно понять, что такое интерпретируемый язык… Эта среда так долго запускается только в первый раз. Во время этой загрузки она создаёт необходимые конфигурационные файлы, подготавливает систему к работе. В последующие разы IDE будет грузиться немного быстрее.
Итак, создадим новый проект. Это можно сделать либо кликнув по ссылке “Start a New Project” в окне приветствия, либо в меню “Файл” -> “Новый проект”. По умолчанию выбран “Консольный проект”. Так как это наше первое приложение — его и выбираем. В качестве названия я ввел “hello”, название решения выставилось автоматически.
После этого появится диалог “Project Features”. Пока там можно ничего не выбирать (ну, или “Unix integration” наконец 🙂 ). Кликаем “ОК” — и код минимального приложения создан:
Допишем чуть-чуть кода, чтобы наше приложение еще и читало какие-нибудь данные из консоли и выводило ткуда что-то. Код заменим на:
После этого сохраняем файл (тандартный хоткей Ctrl+S — рабочий) и компилируем программу. Это можно сделать либо при помощи меню “Проект” -> “Простроение hello” / “Построение решения”, либо при помощи соответствующей кнопки на панели инструментов, либо ещё удобнее — по клавише F7. После этого в журнале построения должно появиться сообщение об успешной сборке.
Как видно, MonoDelvelop вполне функциональная и удобная среда. В ней уже можно с комфортом разрабатывать приложения. Порадовала относительно хорошая русская локализация — даже сообщения компилятора выводятся на русском языке. Большое количество настроек порадует любого девелопера. Также среда может помочь создать архив с новоразработанным приложением. Причём, сделать как версию с исходными кодами, так и с бинарными файлами. Отучают нас от консоли, балуют! 🙂
Ещё одной приятной фишкой среды было автодополнение функций. При введении символа “.”(точка) после объекта какого-нибудь класса во всплывающем окошке отображаются все методы и свойства этого класса, будь то встроенный или только что написанный класс. Причём, можно использовать клавиши стрелок для навигации по этому списку и по каждой функции будет отображено краткое описание (если таковое имеется). Также можно продолжать вводить имя нужной функции с клавиатуры — тогда поиск в окне-подсказке будет совершён автоматически:
В целом эта IDE оставляет приятные ощущения. И это не смотря на очень раннюю версию (0.15). Уже виднеются кроссплатформенные конкуренты Visual Studio от MS! 🙂 Но некоторые жизненно важные возможности пока не реализованы. Например, отладка. Если нужно написать небольшое приложение — то можно его написать и без отладки. Но писать серьёзные коммерческие приложения в этой среде пока будет трудновато. Остаётся лишь надеяться, что разработчики не заставят нас долго ждать и уже в ближайших версиях пошаговая отладка появится.
Теперь запустим нашу программу. Если сделать это при помощи кнопки “Запустить” (F5), то программа обругает нас, мол “Unhandled Exception: System.ArgumentNullException: Argument cannot be null…” Это происходит потому, что в поле “Возраст” мы должны были ввести число, а программа автоматически подставила значение null.
Чтоб ощутить, что мы написали реально рабочее приложение запустим его вручную. Для этого нужно перейти в каталог проекта. Потом в нем в каталог ./bin/Debug/. И в этом каталоге уже будет лежать наше готовое кроссплатформенное приложение. Можем запустить его при помощи mono и посмотреть результат:
Как видите, приложение работает 🙂 Теперь вернёмся к исходному коду. В нём показаны почти все основные принципы ООП:
- Инкапсуляция (скрытие полей объекта от других классов) — напрямую обращаться к свойствам объекта Me нельзя, компилятор выдаст ошибку. Для обращений к этим полям нужно использовать специальные доступные функции (API — Application Prorgramm Interface). Конкретно в данном примере это функции AddToUniversity и Write.
- Полиморфизм (возможность использования одинаковых имён). А именно, в функцию AddToUniversity передаются переменные, соответствующие классовым; вывод данных — функция Write.
- Наследование (в примере использовано не было). В остальном исходный код должен быть понятен, так как приложеньице совсем маленькое. Однако даже маленькоее приложение может быть революционным шагом в истории! Ведь теперь для разработки приложений даже на C# вовсе не обязательно использовать Windows…
При написании данного материала были использованы:
- ОС : Gentoo Linux 2007.0
- Браузер : Mozilla Firefox 2.0.0.6
- Файловый менеджер : Midnight Commander 4.6.1 с набором патчей
- Эмулятор терминала : Konsole 1.6.6 (просвечивается картинка на рабочем столе)
- Текстовый редактор : GVim 7.1 (он же использовался для подсвечивания синтаксиса C# в материале)
- Графический редактор : Gimp 2.4.0
- Оконный менеджер : KDE 3.5.7
- Mono 1.2.4
- MonoDevelop 0.15
Other Linux
2007-09-04 RUSSIAN
russian tools console linux c#
Источник
lsreg’s IT blog
Как писать на C# на linux
Я почти год не писал на C#, переквалифицировался в Dart разработчика и пересел на ubuntu как нормальный фронтендер. За это время в мире дот нета произошло много всего интересного, что прошло мимо меня. Например вышел .Net Core 2.0, что позволило писать приложения на линуксе. С первой версией конечно тоже можно было, но я стараюсь не использовать ничего от Microsoft первой версии.
Пишем приложение на C# на ubuntu
Для начала устанавливаем SDK. Детальная инструкция лежит здесь.
После этого устанавливаем Visual Studio Code.
После этого в папке с проектами выполняем команду
Результатом работы этой команды будет консольный проект helloworld в соответствующей папке.
Вообще из коробки идет несколько шаблонов, не только консоль:
Можно создавать и свои шаблоны.
Теперь открываем созданную папку в VSCode и ставим расширение C# от Microsoft. Не забываем перезагрузить окно после установки расширения. Среда разработки предложит создать ассеты для проекты, соглашаемся. После этого в папке .vscode будут созданы 2 файла: launch.json и tasks.json. Они нужны для запуска приложения из среды и отладки.
Все, теперь мы можем запускать приложение из VSCode и отлаживать. Запускать можно и из консоли, выполнив команду
Как подключить nuget пакет в .Net Core
Зависимости подключаются с помощью команды
подключим к нашему приложению библиотеку Newtonsoft.Json
VSCode предложит нам восстановить зависимости. Соглашаемся.
Источник
Лучшие IDE для разработки на C#
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. Но это тот случай, когда малое количество компенсируется качеством: в числе предложенных сред каждый сможет найти подходящую — по планируемым задачам и потребляемым ресурсам.
С# — один из наиболее популярных языков программирования в мире, хотя его начали разрабатывать еще в прошлом веке. Он задумывался как альтернатива 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. Но это тот случай, когда малое количество компенсируется качеством: в числе предложенных сред каждый сможет найти подходящую — по планируемым задачам и потребляемым ресурсам.
Источник