Как мне разрабатывать приложения .NET в Ubuntu?


38

в колледже мы используем Microsoft .NET для разработки приложений. Я недавно переключился на Ubuntu и хотел бы знать подобные инструменты для создания приложений на / для Ubuntu.


4
Я хотел бы настоятельно призвать вас изучить изучение другого языка, такого как Python или C / C ++. Большое количество (фактически, вероятно, большинство) приложений в хранилище написано на этих языках.
Натан Осман

2
Хотя выбрать другой язык будет довольно легко, он определенно не является необходимым или особенно желательным (кроме ознакомления с другими стилями программирования).
РАОФ

Если вы хотите использовать Linux изо дня в день, но хотите разрабатывать C # без проблем совместимости Mono, подумайте о наличии виртуальной машины Windows в VirtualBox.
Марк К Коуэн

Ответы:


36

Вы можете программировать в .NET на Ubuntu тоже. Ну вроде. Существует открытая реализация платформы .NET под названием MONO. Приложения MONO могут работать в Ubuntu / Linux, Windows и Mac OS. Ищите MonoDevelop в программном центре Ubuntu. Узнайте больше о Mono в Ubuntu .

Другой вариант - Быстро. На мой взгляд, Quickly лучше для разработки приложений, ориентированных на Ubuntu. Вы можете написать свое приложение и выпустить его в PPA (launchpad-repository) за считанные минуты. Быстро также доступна из Ubuntu Software Center. Начните писать приложения с Quickly .


1
+1 за ответ на вопрос. (Лично я ненавижу моно, ну да ладно.)
Натан Осман

3
Ваша ссылка на mono-project.com указывает на быстрый URL-адрес
McDowell,

1
Вы можете прекрасно использовать языки CLI (.NET) и стандартные библиотеки - версии mono в последних выпусках Ubuntu поддерживают C # 3.0 и (большинство) .NET 3.5. Вы хотите изучить библиотеку GTK # UI. Приложения System.Winforms и WPF не будут выглядеть как родные, и WPF также реализован не полностью.
РАОФ

1
Вы хотите, чтобы забрать MonoDevelop IDE. Помимо разработки графического интерфейса (* nix использует GTK # для перетаскивания по сравнению с Winforms / WPF в Windows), разработка в Ubuntu не сильно отличается от разработки в Windows.
Эван Плейс,

@ Owais Lone - ссылки, представленные в ответе, не работают, пожалуйста, попробуйте обновить их или добавить замену
Chinmaya B

12

Быстро может помочь вам быстро создавать классные приложения с использованием Python (довольно легко выучить и очень популярно)!


2
+1 за предложение Python / Быстро. Я профессиональный программист на Python и использую Ubuntu на своем компьютере. Ubuntu (и Linux в целом) отлично подходит для разработки на Python.
Codeape

6

Язык Vala - это язык программирования, очень похожий на C #. Он еще очень молодой, но уже имеет много привязок к существующим библиотекам (например, GTK). Он компилируется в собственные двоичные файлы, поэтому вашим пользователям не требуется дополнительная среда выполнения, как это было бы для .NET.

Смотрите введение в Vala для программистов на C # .


если вы нацелены на Ubuntu, то моно предустановлен и поэтому не требует дополнительного времени выполнения.
трампстер

1
Похоже, что ссылка на Vala для C # не работает. Попробуйте вместо этого, live.gnome.org/Vala/ValaForCSharpProgrammers . Есть также один для программистов Java, live.gnome.org/Vala/ValaForJavaProgrammers .
Марк Б

спасибо Марк, похоже, что они реструктурировали свою вики, я исправил ссылку в Ответе.
thbusch

5

Я не вижу причин для всех этих предложений, чтобы вы переключали платформы приложений / языки. Используйте то, к чему вы привыкли, и вы будете более продуктивными, чем тратить время на изучение другого языка.

Monodevelop даст вам лучший опыт разработки Mono - это не Visual Studio, а лучшая интегрированная IDE для моно, которую вы получите в Ubuntu. Визуальный дизайн форм GTK и их элементов управления - большая победа (думаю, Winforms, но стиль Linux).


2

В Linux доступны всевозможные инструменты, которые позволяют создавать многофункциональные настольные приложения. Bowline - это фреймворк mvc, который позволяет создавать настольные приложения в ruby. Shoes - это еще один фреймворк, позволяющий создавать настольные приложения в ruby, и на сегодняшний день это самый простой фреймворк для настольных приложений.


2

Начните изучать Qt . Это фреймворк на основе C ++. Это кроссплатформенный, а также отлично работает в Windows. Даже у него есть надстройка для Visual Studio. Обычно используется для платформы KDE. Для GNOME вы можете изучить GTK # .

Из Википедии ,

Вместо инструментария Qt в качестве основы рабочего стола GNOME был выбран GTK +.


1
Qt работает в GNOME
dv3500ea

@ dv3500ea: Вы не получили это. QT используется для разработки приложений KDE, это не значит, что приложения, созданные QT, не будут работать в GNOME. Точно так же приложения GTK будут работать на KDE. Но вы не можете использовать GTK для создания приложений KDE
пользователь

1
Это не только для платформы KDE.
dv3500ea

1
QT не используется для сборки приложений KDE. QT используется для создания графических интерфейсов. KDE использует QT для создания своих приложений. QT также можно использовать для создания приложений GTK.
Owais Lone

Я думаю, что я полностью потерян здесь. Помечено как сообщество вики. Спасибо за вашу поддержку и терпение.
пользователь

2

Чтобы разрабатывать приложения специально для Ubuntu, зайдите на сайт разработчиков Ubuntu . Среди прочего вы можете:

У них есть структура под названием Quickly .

В других ответах на Qt и GTK есть хорошие ссылки. Интересным источником рекомендаций является сайт разработчиков Gnome .

Используемая среда / среда будет зависеть от используемого вами языка. Вы можете использовать MS Visual Studio Code в Ubuntu .


1
Награда, которую я начал, конкретно о dotnet. Ответ должен быть очень простым. Вы можете даже найти соответствующую обновленную часть с веб-сайта Microsoft
Anwar

@ Анвар Я запутался с описанием. Для меня не было ясно, была ли идея сделать .Net или развиваться как с .Net. Я ответил на второе толкование
Рамон Суарес

Пожалуйста, добавьте больше деталей к этой части ответа. Должен включать основной процесс установки
Anwar

@ Анвар Извините, я не понимаю ваш комментарий.
Рамон Суарес

2

Пожалуйста, всегда сверяйте ссылки CoreCLR (.NET Core runtime) с Mono. Кроме того, пожалуйста, посмотрите, что этот вопрос собрал связанных людей и официальное мнение о связях CoreCLR и проекта Mono после того, как Microsoft открыла .NET

Я думаю, что одна из хороших вещей от гигантов IT-индустрии - официальная документация

Следующая команда скопирована из Приступая к работе с консольным приложением .NET Hello World в Ubuntu , за исключением добавленного повествования и мнения в конце. Возможно, обратитесь по приведенной выше ссылке, если какая-либо из команд завершилась неудачно.

  1. Предварительное условие: начало работы с консольным приложением .NET Hello World в Ubuntu . Здесь инструкция предполагает, что вы используете Ubuntu 16.04 LTS.

    Для того чтобы установить .NET Core в Ubuntu или Linux Mint, вам необходимо сначала настроить фид apt-get, в котором находится нужный вам пакет. Итак, настройте репозиторий apt с этими командами.

    sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893
    sudo apt-get update
    
  2. Установите .NET Core SDK

    sudo apt-get install dotnet-dev-1.0.1
    
  3. Инициализировать пример приложения Hello World

    dotnet new console -o hwapp
    cd hwapp
    

    Посмотрите на стиль, его легче начать с Node.js, он похож на инструменты CLI для всех инструментов разработки нового поколения, таких как Spring Boot, Angular 2 и т. Д., Которые вы можете просто инициализировать приложения Hello World с помощью команды:

  4. Запустите приложение

    dotnet restore
    dotnet run
    

    Первая команда восстановит пакеты, указанные в файле проекта, а вторая команда выполнит фактический пример:

  5. Наконец, если вы можете пройти немного сложнее, но если вам требуется пользовательский интерфейс, я думаю, это будет проще, чем работа с другой библиотекой C ++ / C # UI. Вы можете работать с .NET или Node.js для взаимодействия с веб-браузером Electron и предоставлять пользовательский интерфейс через HTML5, CSS.

    Электронный интерфейс с .NET и Node.js


Upvoted. Ваша ссылка на MS содержит практически все, что я хотел включить. Можете ли вы вставить важные части ссылки в ответ?
Анвар

Конечно, спасибо за проголосовавших. Лечился очень хорошо здесь, для второго вопроса Microsoft. Пока Microsoft старается быть нейтральной в своем проекте с открытым исходным кодом, я думаю, что Unix также должен приветствовать их, как друзей, так же как и Bash на Windows 10.
Эдвард Чан, JW
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.