Wie entwickle ich .NET-Apps auf Ubuntu?

38

Am College verwenden wir Microsoft .NET für die Entwicklung von Anwendungen. Ich bin kürzlich zu Ubuntu gewechselt und möchte ähnliche Tools zum Erstellen von Apps auf / für Ubuntu kennen.

Owais Lone
quelle
4
Ich möchte Sie dringend bitten, eine andere Sprache wie Python oder C / C ++ zu lernen. Eine große Anzahl (wahrscheinlich die Mehrheit) der Anwendungen im Repository ist in diesen Sprachen geschrieben.
Nathan Osman
2
Obwohl es ziemlich einfach sein wird, eine andere Sprache zu erlernen, ist dies sicherlich nicht notwendig oder besonders wünschenswert (abgesehen davon, andere Programmierstile zu kennen).
RAOF
Wenn Sie Linux täglich verwenden und C # ohne die Kompatibilitätsprobleme von Mono entwickeln möchten, sollten Sie eine virtuelle Windows-Maschine in VirtualBox verwenden.
Mark K Cowan

Antworten:

36

Sie können auch in .NET auf Ubuntu programmieren. Naja, so ungefähr. Es gibt eine Open-Source-Implementierung der .NET-Plattform namens MONO. MONO-Apps können unter Ubuntu / Linux, Windows und Mac OS ausgeführt werden. Suchen Sie im Ubuntu Software Center nach MonoDevelop. Erfahren Sie mehr über Mono in Ubuntu .

Eine andere Option ist Schnell. Meiner Meinung nach ist Quickly besser für die Ubuntu-zentrierte App-Entwicklung. Sie können Ihre App codieren und in wenigen Minuten in einem PPA (Launchpad-Repository) veröffentlichen. Quickly ist auch im Ubuntu Software Center erhältlich. Fangen Sie mit Quickly an, Apps zu schreiben .

Owais Lone
quelle
1
+1 für die Beantwortung der Frage. (Ich persönlich hasse Mono, aber na ja.)
Nathan Osman
3
Ihr mono-project.com- Link verweist auf die Quickly URL
McDowell
1
Sie können die CLI (.NET) -Sprachen und Standardbibliotheken problemlos verwenden - die Versionen von mono in den neuesten Ubuntu-Versionen unterstützen C # 3.0 und (die meisten) .NET 3.5. Sie sollten jedoch die GTK # -UI-Bibliothek kennenlernen. System.Winforms & WPF-Anwendungen sehen nicht nativ aus und WPF ist auch nicht vollständig implementiert.
RAOF
1
Sie möchten die MonoDevelop-IDE abholen. Abgesehen von der GUI-Entwicklung (* nix verwendet GTK # für Drag-Drop gegen Winforms / WPF unter Windows) unterscheidet sich die Entwicklung in Ubuntu nicht wesentlich von der Entwicklung unter Windows.
Evan Plaice
@Owais Lone - Die in der Antwort angegebenen Links funktionieren nicht. Bitte versuchen Sie, sie zu erneuern oder einen Ersatz hinzuzufügen.
Chinmaya B
12

Schnell können Sie coole Anwendungen machen helfen Python (ziemlich einfach , populär zu lernen und sehr) schnell!

Umang
quelle
2
+1 für das Vorschlagen von Python / Quickly. Ich bin ein professioneller Python-Programmierer und verwende Ubuntu auf meinem Computer. Ubuntu (und Linux im Allgemeinen) eignet sich hervorragend für die Python-Entwicklung.
4.
6

Die Vala- Sprache ist eine Programmiersprache, die C # sehr ähnlich ist. Es ist noch sehr jung, hat aber bereits viele Bindungen zu bestehenden Bibliotheken (zum Beispiel GTK). Es wird in native Binärdateien kompiliert, sodass Ihre Benutzer keine zusätzliche Laufzeit benötigen, wie dies für .NET der Fall wäre.

Siehe eine Einführung in Vala für C # Programmierer .

thbusch
quelle
Wenn Sie Ubuntu als Ziel haben, ist Mono vorinstalliert und benötigt keine zusätzliche Laufzeit.
Trampster
1
Es sieht so aus, als würde dieser Link zu Vala für C # nicht funktionieren. Versuchen Sie es stattdessen unter live.gnome.org/Vala/ValaForCSharpProgrammers . Es gibt auch eine für Java-Programmierer, live.gnome.org/Vala/ValaForJavaProgrammers .
Mark B
danke Markus, anscheinend haben sie ihr Wiki umstrukturiert, ich habe den Link in der Antwort korrigiert.
thbusch
5

Ich sehe für all diese Vorschläge keinen Grund, die Anwendungsplattformen / -sprachen zu wechseln. Verwenden Sie das, was Sie gewohnt sind, und Sie werden produktiver sein, als Zeit damit zu verbringen, eine andere Sprache zu lernen.

Mit Monodevelop können Sie die Mono-Entwicklung besser kennenlernen - es ist kein Visual Studio, aber die beste integrierte IDE für Mono, die Sie mit Ubuntu erhalten. Das visuelle Design von GTK-Formularen und deren Steuerelementen ist ein großer Gewinn (denken Sie an Winforms, aber Linux-Stil).

Rob Cowell
quelle
2

Unter Linux stehen alle möglichen Tools zur Verfügung, mit denen Sie umfangreiche Desktop-Anwendungen erstellen können. Bowline ist ein MVC-Framework, mit dem Sie Desktop-Anwendungen in Ruby erstellen können. Shoes ist ein weiteres Framework, mit dem Sie Desktop-Apps in Ruby erstellen können, und es ist mit Abstand das einfachste Framework für Desktop-Apps.

Khaja Minhajuddin
quelle
2

Fange an, Qt zu lernen . Es ist ein auf C ++ basierendes Framework. Es ist plattformübergreifend und funktioniert auch in Windows. Sogar es hat ein Add-In für Visual Studio. Es wird normalerweise für die KDE-Plattform verwendet. Für GNOME können Sie GTK # lernen .

Aus Wikipedia ,

Anstelle des Qt-Toolkits wurde GTK + als Basis für den GNOME-Desktop ausgewählt.

Benutzer
quelle
1
Qt funktioniert unter GNOME
dv3500ea
@ dv3500ea: Du hast es nicht verstanden. QT wird zum Entwickeln von KDE-Anwendungen verwendet. Dies bedeutet jedoch nicht, dass von QT erstellte Anwendungen nicht unter GNOME ausgeführt werden können. Genauso werden GTK-Anwendungen unter KDE ausgeführt. Sie können GTK jedoch nicht zum Erstellen von KDE-Anwendungen verwenden
Benutzer
1
Es ist jedoch nicht 'nur für die KDE-Plattform'.
dv3500ea
1
QT wird nicht zum Erstellen von KDE-Apps verwendet. QT wird zum Erstellen von GUIs verwendet. KDE verwendet QT, um seine Apps zu erstellen. Mit QT können auch GTK-Apps erstellt werden.
Owais Lone
Ich denke, ich bin hier total verloren. Als Community-Wiki markiert. Vielen Dank für Ihre Unterstützung und Geduld.
Benutzer
2

Besuchen Sie die Entwickler-Website von Ubuntu, um Apps speziell für Ubuntu zu entwickeln . Unter anderem können Sie:

Sie haben ein Framework namens Quickly .

In den anderen Antworten zu Qt und GTK gibt es gute Referenzen. Eine interessante Quelle für Richtlinien ist die Entwickler-Website von Gnome .

Das zu verwendende Framework / die zu verwendende IDE hängt von der von Ihnen verwendeten Sprache ab. Sie können MS Visual Studio Code unter Ubuntu verwenden .

Ramon Suarez
quelle
1
Das Kopfgeld, das ich angefangen habe, handelt speziell von Dotnet. Die Antwort sollte sehr einfach sein. Sie können das relevante aktualisierte Stück von der Microsoft-Web site
Anwar
@Anwar Ich habe mit der Beschreibung verwechselt. Es war mir nicht klar, ob die Idee war, .Net zu machen oder wie mit .Net zu entwickeln. Ich antwortete auf die zweite Interpretation
Ramon Suarez
Bitte fügen Sie diesem Teil der Antwort weitere Details hinzu. Sollte den grundlegenden Installationsprozess beinhalten
Anwar
@Anwar Entschuldigung, ich verstehe Ihren Kommentar nicht.
Ramon Suarez
2

Bitte verweisen Sie immer auf CoreCLR (.NET Core Runtime) mit Mono. Darüber hinaus finden Sie in dieser Frage verwandte Personen und die offizielle Meinung zu CoreCLR und der Projekt-Mono-Beziehung, nachdem Microsoft .NET als Open-Source-Lösung bereitgestellt hat

Ich denke, eine gute Sache von Giants of IT Industry ist die offizielle Dokumentation.

Der folgende Befehl ist eine Kopie von Getting Started mit der .NET Hello World-Konsolenanwendung in Ubuntu , mit Ausnahme des zuletzt hinzugefügten Kommentars und der zuletzt hinzugefügten Meinung. Verweisen Sie möglicherweise auf den obigen Link, wenn einer der Befehle fehlgeschlagen ist.

  1. Voraussetzung: Erste Schritte mit der .NET Hello World-Konsolenanwendung in Ubuntu . In der Anleitung wird davon ausgegangen, dass Sie Ubuntu 16.04 LTS ausführen.

    Um .NET Core unter Ubuntu oder Linux Mint zu installieren, müssen Sie zuerst den apt-get-Feed einrichten, der das benötigte Paket hostet. Richten Sie apt repository mit diesen Befehlen ein.

    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. Installieren Sie das .NET Core SDK

    sudo apt-get install dotnet-dev-1.0.1
    
  3. Initialisieren Sie eine Hello World-Beispielanwendung

    dotnet new console -o hwapp
    cd hwapp
    

    Schauen Sie sich den Stil an, es ist fast einfacher, als Node.js zu beginnen, es ist wie mit den CLI-Tools für alle Entwicklungstools der neuen Generation wie Spring Boot, Angular 2 usw., die Sie einfach mit dem Befehl "Hello World-Apps" initialisieren können:

  4. Führen Sie die App aus

    dotnet restore
    dotnet run
    

    Mit dem ersten Befehl werden die in der Projektdatei angegebenen Pakete wiederhergestellt, und mit dem zweiten Befehl wird das aktuelle Beispiel ausgeführt:

  5. Schließlich, wenn Sie etwas kompliziert durchgehen können, aber wenn Sie UI benötigen, würde ich denken, dass dies einfacher sein wird, als mit anderen C ++ / C # UI-Bibliotheken zu arbeiten. Sie können entweder mit .NET oder Node.js arbeiten, um mit dem Webbrowser von Electron zu kommunizieren, der die Benutzeroberfläche über HTML5, CSS bereitstellt.

    Electron UI mit .NET und Node.js

Edward Chan JW
quelle
Upvoted. Ihr MS-Link enthält im Wesentlichen alles, was ich wollte. Können Sie die wichtigen Teile des Links in die Antwort einfügen?
Anwar
Klar, danke für die upvoted. Wurde hier für die zweite Microsoft-Frage wirklich nett behandelt. Solange Microsoft versucht, in seinem Open Source-Projekt neutral zu bleiben, sollte Unix sie ebenso willkommen heißen wie Friends as the same mit Bash unter Windows 10.
Edward Chan JW