Як я можу розробити програми .NET на Ubuntu?


38

в коледжі ми використовуємо Microsoft .NET для розробки програм. Нещодавно я перейшов на Ubuntu і хотів би знати подібні інструменти для створення додатків у / для ubuntu.


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

2
Хоча підібрати іншу мову буде досить просто, це, звичайно, не потрібно або особливо бажано (крім впливу інших стилів програмування).
RAOF

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

Відповіді:


36

Ви також можете програмувати в .NET на ubuntu. Ну, начебто. Існує реалізація платформи .NET з відкритим кодом, яка називається MONO. Програми MONO можуть працювати в Ubuntu / Linux, Windows та Mac OS. Шукайте MonoDevelop в програмному центрі Ubuntu.Дізнайтеся більше про Mono в Ubuntu .

Інший варіант - Швидко. На мій погляд, швидше краще для розробки додатків у центрі Ubuntu. Ви можете кодувати додаток і випустити його до PPA (запуск-сховище) за лічені хвилини. Швидкий доступ також доступний у програмному центрі Ubuntu. Почніть писати програми швидко .


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

3
ваше посилання mono-project.com вказує на швидку URL-адресу
McDowell

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

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

вала мова програмування, дуже схожа на C #. Він ще дуже молодий, але вже має багато прив’язок до існуючих бібліотек (наприклад, GTK). Він компілюється в натні бінарні файли, тому вашим користувачам не потрібен додатковий час виконання, як це було б для .NET.

Дивіться вступ до Vala для програмістів на C # .


це ви орієнтуєтесь на ubuntu, тоді моно встановлено заздалегідь, і тому не потрібно додаткового виконання.
бродяга

1
Схоже, що посилання на Vala для C # не працює. Спробуйте це замість цього, live.gnome.org/Vala/ValaForCSharpProgrammers . Є також програма для програмістів Java, live.gnome.org/Vala/ValaForJavaProgrammers .
Марк Б

дякую Марку, схоже, що вони переробили свою вікі, я виправив посилання у відповіді.
вторник

5

Я не бачу причин для всіх цих пропозицій щодо того, щоб ви перемикали платформи / мови програм. Використовуйте те, до чого ви звикли, і ви будете більш продуктивними, ніж витрачати час на вивчення іншої мови.

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


2

У Linux є всілякі інструменти, які дозволяють створювати багаті настільні програми. Bowline - це рамка mvc, яка дозволяє створювати настільні програми в рубіні. Взуття - це ще одна рамка, яка дозволяє створювати настільні додатки в рубіні, і це, безумовно, найпростіша рамка настільних додатків.


2

Почніть вивчати Qt . Це основа, заснована на C ++. Це кросова платформа, а також чудово працює у вікнах. Навіть він має надбудову для 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 . Серед іншого ви можете:

Вони мають рамку під назвою Швидко .

В інших відповідях на Qt та GTK є хороші посилання. Цікавим джерелом для настанов є веб-сайт розробників Gnome .

Рамка / IDE для використання залежатиме від мови, якою ви користуєтесь. На Ubuntu можна використовувати код MS Visual Studio .


1
Баунті, яку я розпочав, спеціально стосується dotnet. Відповідь повинна бути дуже простою. Ви навіть можете знайти відповідний оновлений фрагмент із веб-сайту microsoft
Anwar

@Anwar я заплутався в описі. Мені було незрозуміло, чи ідея робити .Net чи розвиватися, як у .Net. Я відповів на друге тлумачення
Рамон Суарес

Будь ласка, додайте більше деталей до цієї частини відповіді. Слід включити базовий процес установки
Anwar

@Anwar Вибачте, я не розумію ваш коментар.
Рамон Суарес

2

Будь ласка, завжди перекреслюйте посилання CoreCLR (.NET Core) на Mono. Крім того, дивіться, будь ласка, це питання, зібране пов'язаними людьми та офіційною думкою щодо CoreCLR та проекту Mono Relations після того, як Microsoft відкрила джерело .NET

Я думаю, що одним із хороших речей від Giants з ІТ-індустрії є офіційна документація.

Наступна команда - це копія із Початок роботи з .NET Hello World Console Application в Ubuntu , за винятком останнього оповідання та думки. Можливо, перейдіть до вищезазначеного посилання, якщо будь-яка команда не вдалася.

  1. Необхідна умова: Початок роботи з додатком .NET Hello World Console в Ubuntu . Інструкція передбачає, що ви використовуєте Ubuntu 16.04 LTS.

    Для того щоб встановити .NET Core на Ubuntu або Linux Mint, спочатку потрібно встановити apt-get канал, який розміщує необхідний вам пакет. Отже, встановіть підходящий сховище за допомогою цих команд.

    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 Library. Ви можете вибрати для роботи з .NET або Node.js, щоб спілкуватися з веб-браузером Electron, надаючи користувальницький інтерфейс через HTML5, CSS.

    Електронний інтерфейс з .NET та Node.js


Отримано. Ваше посилання MS має по суті все, що я хотів включити. Чи можете ви до відповіді поставити важливі частини посилання?
Анвар

Звичайно, дякую за прихильність. Тут зверталися дуже добре, до другого питання Microsoft. Поки Microsoft намагається бути нейтральною у своєму проекті з відкритим кодом, я думаю, що Unix повинен також їх вітати, як Друзі, як те саме з Bash в Windows 10.
Едвард Чан JW
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.