- Разработка приложений на С# в Linux среде
- Other Linux
- lsreg’s IT blog
- Как писать на C# на linux
- Пишем приложение на C# на ubuntu
- Как подключить nuget пакет в .Net Core
- Программируем на C# в Linux
- [Offfical] C# Linux is the offical way to develop Linux Applications.
- C# Linux is Possible and this is how:
- C# Linux using MonoDevelop:
- C# Linux Xamarin Development:
- C# Linux using .NET Core:
- Conclusion:
Разработка приложений на С# в 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 предложит нам восстановить зависимости. Соглашаемся.
Источник
Программируем на C# в Linux
Начав обучение программированию на языке C# (потому что это модно и молодежно), я подумал — а нет ли возможности писать программы на этом же языке под Linux? Оказывается, даже более чем есть. Всем известная компания Novell создала проект Mono — воплощение системы .NET Framework для свободного программного обеспечения. Проект активно развивается, несмотря на то что Microsoft свою руку к этому делу вообще не приложила. Ныне поддержкой проекта занимается корпорация Xamarin. Но обо всем по порядку.
.NET Framework — это, если грубо сказать, платформа, выполняющая на своем языке (CLR) различные программы, если углубится, то это вообще набор библиотек и инструкций что и как делать программе. Mono по сути является этой самой платформой, только открытой, может, конечно, немного не так написано как на оригинал, но тем не менее программы на ней пишутся, и вполне спокойно.
Но одной платформы и компилятора будет маловато, для удобства нужна хорошая и удобная среда. К счаcтью, не так давно вышла новая версия MonoDevelop.
Скачать же сию среду можно здесь. Как поставить на популярные дистрибутивы, там написано, у меня же ArchLinux, и я просто взял ее из AUR.
Тут довольно странно получается, что при компиляции на выходе получается обычный exe-файл, и его даже можно запустить на Windows, при наличии .NET Framework и GTK-библиотек, если вы пишите оконное приложение. То есть можно вообще даже не заморачиваться по поводу кроссплатформенности, это радует. Также если писать что-то простое, то можно это сделать даже в командной строке:
— запишем исходник в текстовом файле (например, Sample.cs ). Для примера возьмем Hello World!
— скомпилируем исходник и запустим получившееся
В ответ у нас выйдет строка «Hello World!», и получившийся бинарник так же можно запустить на Windows (с предустановленной Mono или .NET Framework) или Mac OS X. Есть тут только одна тонкость — как было видно из примера, запускать надо именно через mono.
Вот, собственно, и все. Как видите, ничего сложного.
Источник
[Offfical] C# Linux is the offical way to develop Linux Applications.
C# Linux is Possible and this is how:
In this post, we are going to talk about various methods in which we can use C# Linux. C# is a general-purpose programming language that can be used for developing different kinds of application in Microsoft Windows platform. It is a strongly typed object-oriented programming language. It is originally designed for common language runtime. C# needs .NET Framework for compiling and .Net Framework Runtime to run on windows.
.NET Framework is available only on windows. Due to this reason it was not possible to use C# programming language on Linux or atleast not as well as windows. But recently, Microsoft has embraced open source in a very developer friendly way. It has integrated Bash, a linux based terminal, into Windows, added support for .NET core in Linux. Supported Xamarin to help developers develop Android apps using C# and more.
Here we will see how to use Linux C# such that new programmers can use Linux and learn C# development easily.
C# Linux using MonoDevelop:
It is a cross-platform IDE for .NET languages such as C#, F# and more. It helps the developers to port the .NET applications to Linux and MacOS without have to rely upon multiple code base and more.
It is an open source development platform based on .NET framework. It allows the developers to build cross-platform applications with IDE level productivity.
Mono is supported on many other distros also. It is supported in Debian, Raspian, Fedora, CentOS, Arch, Gentoo and more.
There are many packages that are installed with the help of the official community-driven software sources that are written using C# and use Mono.
Also, there are plenty of editors that the developer can use to develop applications on Linux. Some of them are, Gedit, VIM, MonoDevelop and Visual Studio Code. We can also use the IntelliJ based IDE called Rider that has all the features of Resharper.
We highly recommend Visual Studio Code for C# Linux development.
That being said, we have to note that, we can develop desktop applications using Mono Framework and GtkSharp toolkit. It is possible to develop Unity Game engine using C# applications on Linux and for Linux.
Clearly, we can see that having C# programming language is great for developing on Linux and so our argument for C# Linux is very important.
C# Linux Xamarin Development:
We do not develop apps in Linux with the help of Xamarin but we can develop an application for Android using Xamarin. Android is using the Linux kernel for the operating system. It also uses the Java Virtual Machine within which the applications run. It is therefore important for a developer to have good knowledge of Android and Java to be able to write applications for Android.
But the situation has changed in favor of C# Linux. With the help of Xamarin developers are able to develop applications for Android using C# programming language. It is very easy to learn and it mostly uses the Microsoft UWP development paradigm.
If you are a new C# developer do not worry that you can not target the largest OS segment, android yet. With the help of Xamarin, we can easily write applications for Android and iOS from within Windows.
This makes Xamarin have projects compile to Android, iOS, and Windows at the same time. The result is the ability to develop android applications using C#. It is a very powerful platform and many large companies use this as the front end technology for large business services.
C# Linux using .NET Core:
Finally, we can come to the elephant in the room and that is .NET Core for Linux. Historically .NET has been Windows only and it is still that way for most of the part. This changed recently with the release of .NET Core. It is opensource and it is maintained in GitHub. It has accumulated above 10K stars on Github. It is quickly surpassing Node Js in popularity and also becoming developer friendly for all platforms.
The .NET core was originally announced in 2015 and ever since then it is quickly growing. .Net Core 3.0 is going to be the latest version of .Net Core and it will have more features than .Net Core 2.2.
Developers can install the .Net core runtime packages and also the SDK in the supported Linux Distro and quickly get started with developing applications on Linux using C#.
The developers do not have to rely on Linux for programming but they can develop the application on Windows using Visual Studio and quickly deploy on one of the supported Linux Distro. This makes development easy and fast.
It is surprising how plenty of packages that were developed keeping .Net Framework in mind is getting quickly supported on Linux as well.
If you wish to start C# Linux, .Net Core is hands down the best option as it is officially supported by Microsoft and it is also opensource. This will help developers to leverage a great many functions and features that come with developing C# applications and also benefit from the open source and free nature of Linux.
Conclusion:
C# Linux is a very good development platform as it is rapidly growing today. It is quickly becoming the choice of platform for new and independent developers as it can easily leverage the open source community from Linux and .Net. We can develop applications for Android using Xamarin, we can develop in Linux with powerful IDEs such as MonoDevelop.
Finally, we have .Net Core as the offical .Net Framework that can work on Linux also. With that all said, we can take this with a grain of salt because .Net Core does not work very well with some Distros and versions in specific distros. The developer has to make the right choice to pick the right technology stack to work with and make things work. That said, it is not altogether very difficult to get started with Linux C#.
If you have any doubts, please let us know in the comments below. For more such awesome posts stay tuned to TecKangaroo.
Источник