Comment développer des applications .NET sur Ubuntu?


38

Au collège, nous utilisons Microsoft .NET pour développer des applications. Je suis récemment passé à Ubuntu et j'aimerais connaître des outils similaires pour créer des applications sur / pour Ubuntu.


4
Je voudrais vous inciter fortement à envisager d’apprendre une autre langue comme Python ou C / C ++. Un grand nombre (en fait, probablement la majorité) des applications du référentiel sont écrites dans ces langues.
Nathan Osman

2
Bien qu'il soit assez facile de choisir une autre langue, ce n'est certainement pas nécessaire ni particulièrement souhaitable (autre que l'exposition à d'autres styles de programmation).
RAOF

Si vous souhaitez utiliser Linux au quotidien, mais que vous souhaitez développer le C # sans les problèmes de compatibilité de Mono, envisagez de disposer d'une machine virtuelle Windows dans VirtualBox.
Mark K Cowan

Réponses:


36

Vous pouvez aussi programmer en .NET sur Ubuntu. Eh bien, en quelque sorte. Il existe une implémentation open source de la plate-forme .NET appelée MONO. Les applications MONO peuvent fonctionner sur Ubuntu / Linux, Windows et Mac OS. Recherchez MonoDevelop dans le Centre logiciel Ubuntu. En savoir plus sur Mono dans Ubuntu .

Une autre option est rapidement. À mon avis, Quickly est préférable pour le développement d'applications centrées sur Ubuntu. Vous pouvez coder votre application et la publier sur un PPA (référentiel de tableau de bord) en quelques minutes. Quickly est également disponible à partir du centre logiciel Ubuntu. Commencez à écrire des applications avec Quickly .


1
+1 pour répondre à la question. (Personnellement, je déteste le mono, mais ah bon.)
Nathan Osman le

3
votre lien mono-project.com pointe vers l'URL Quickly
McDowell le

1
Vous pouvez très bien utiliser les langages CLI (.NET) et les bibliothèques standard: les versions de mono dans les dernières versions d'Ubuntu prennent en charge les versions C # 3.0 et (la plupart des) .NET 3.5. Vous voudrez cependant apprendre la bibliothèque GTK # UI. Les applications System.Winforms & WPF n’auront pas l’air naturel, et WPF n’est pas totalement implémenté.
RAOF

1
Vous voudrez vous procurer l'IDE MonoDevelop. Outre le développement de l'interface graphique (* nix utilise GTK # pour glisser-déposer vs Winforms / WPF sur Windows), le développement sous Ubuntu n'est pas très différent du développement sous Windows.
Evan Plaice le

@Owais Lone - Les liens fournis en réponse ne fonctionnent pas, essayez de les renouveler ou d'ajouter un remplaçant
Chinmaya B

12

Rapidement peut vous aider à créer des applications en utilisant Python (assez facile à apprendre et très populaire) rapidement!


2
+1 pour suggérer Python / Quickly. Je suis un programmeur professionnel Python et j'utilise Ubuntu sur mon ordinateur. Ubuntu (et Linux en général) est idéal pour le développement Python.
codeape

6

Le langage Vala est un langage de programmation très similaire à C #. Il est encore très jeune, mais a déjà beaucoup de liens avec les bibliothèques existantes (par exemple, GTK). Il se compile en fichiers binaires natifs afin que vos utilisateurs n'aient pas besoin d'une exécution supplémentaire, comme ils le feraient pour .NET.

Voir une introduction à Vala pour les programmeurs C # .


Si vous ciblez Ubuntu, mono est préinstallé et ne nécessite donc aucune exécution supplémentaire.
Trampster

1
Il semble que ce lien vers Vala pour C # ne fonctionne pas. Essayez plutôt celui-ci, live.gnome.org/Vala/ValaForCSharpProgrammers . Il en existe également un pour les programmeurs Java, live.gnome.org/Vala/ValaForJavaProgrammers .
Mark B

merci Mark, on dirait qu'ils ont restructuré leur wiki, j'ai corrigé le lien dans la réponse.
Thbusch

5

Je ne vois aucune raison pour toutes ces suggestions de changer de plate-forme d’application / de langue. Utilisez ce que vous avez l'habitude de vivre et vous serez plus productif que de devoir passer du temps à apprendre une autre langue.

Monodevelop vous donnera une meilleure expérience du développement Mono - ce n'est pas Visual Studio, mais c'est le meilleur IDE intégré pour le mono que vous obtiendrez sur Ubuntu. La conception visuelle des formulaires GTK et de leurs contrôles est une grande victoire (pensez à Winforms mais à la manière de Linux).


2

Il existe toutes sortes d’outils disponibles sur Linux qui vous permettent de créer des applications de bureau riches. Bowline est un framework MVC qui vous permet de créer des applications de bureau en ruby. Shoes est un autre framework qui vous permet de créer des applications de bureau en ruby. Il s'agit de loin du framework d'applications de bureau le plus simple.


2

Commencez à apprendre Qt . C'est un framework basé sur C ++. C'est la plate-forme transversale et fonctionne également bien dans les fenêtres. Même il a un complément pour Visual Studio. Il est généralement utilisé pour la plate-forme KDE. Pour GNOME, vous pouvez apprendre GTK # .

De Wikipedia ,

À la place de la boîte à outils Qt, GTK + a été choisi comme base du bureau GNOME.


1
Qt fonctionne sur GNOME
dv3500ea, le

@ dv3500ea: Vous ne l'avez pas compris. QT est utilisé pour développer des applications KDE, cela ne signifie pas que les applications construites par QT ne fonctionneront pas sur GNOME. De la même manière, les applications GTK fonctionneront sur KDE. Mais vous ne pouvez pas utiliser GTK pour créer des applications KDE
utilisateur

1
Ce n'est cependant pas "uniquement pour la plate-forme KDE".
dv3500ea

1
QT n'est pas utilisé pour créer des applications KDE. QT est utilisé pour construire des interfaces graphiques. KDE utilise QT pour créer ses applications. QT peut également être utilisé pour créer des applications GTK.
Owais Lone

Je pense que je suis totalement perdu ici. Marqué comme wiki de la communauté. Merci pour votre soutien et votre patience.
utilisateur

2

Pour développer des applications spécifiques à Ubuntu, visitez le site Web des développeurs d’ Ubuntu . Entre autres choses, vous pouvez:

Ils ont un cadre appelé Quickly .

Il existe de bonnes références dans les autres réponses à Qt et GTK. Le site Web des développeurs de Gnome est une source intéressante de lignes directrices .

Le framework / IDE à utiliser dépend de la langue utilisée. Vous pouvez utiliser le code MS Visual Studio sur Ubuntu .


1
La prime que j'ai créée concerne spécifiquement le réseau de points. La réponse devrait être très facile. Vous pouvez même trouver la mise à jour pertinente sur le site Web de Microsoft
Anwar

@ Anwar, j'ai été confondu avec la description. Ce n’était pas clair pour moi si l’idée était de faire .Net ou de développer comme avec .Net. J'ai répondu à la deuxième interprétation
Ramon Suarez

Veuillez ajouter plus de détails à cette partie de la réponse. Devrait inclure le processus d'installation de base
Anwar

@Anwar Désolé, je ne comprends pas votre commentaire.
Ramon Suarez

2

Veuillez toujours faire référence à CoreCLR (.NET Core Runtime) avec Mono. En outre, veuillez voir cette question recueillie personnes liées et l'opinion officielle pour CoreCLR et de la relation de projet Mono après l’ouverture de la source .NET de Microsoft.

Je pense qu'une des bonnes choses de Giants of IT Industry est la documentation officielle.

La commande suivante est une copie de Premiers pas avec l'application .NET Hello World Console dans Ubuntu , à l'exception de la narration et de l'opinion ajoutées à la dernière. Reportez-vous éventuellement au lien ci-dessus, si l'une des commandes a échoué.

  1. Prérequis: Initiation à l'application .NET Hello World Console sous Ubuntu . Les instructions ici supposent que vous utilisez Ubuntu 16.04 LTS.

    Pour installer .NET Core sur Ubuntu ou Linux Mint, vous devez d'abord configurer le flux apt-get qui héberge le paquet dont vous avez besoin. Donc, installez apt repository avec ces commandes.

    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. Installer le Kit de développement .NET Core

    sudo apt-get install dotnet-dev-1.0.1
    
  3. Initialiser un exemple d'application Hello World

    dotnet new console -o hwapp
    cd hwapp
    

    Regardez le style, il est presque plus facile de commencer en tant que Node.js, c'est comme les outils de la CLI pour tout outil de développement de nouvelle génération comme Spring Boot, Angular 2, etc.

  4. Lancer l'application

    dotnet restore
    dotnet run
    

    La première commande restaurera les packages spécifiés dans le fichier de projet et la seconde exécutera l'exemple réel:

  5. Enfin, si vous pouvez passer par des choses un peu compliquées, mais si vous aviez besoin d’UI, je penserais que ce sera plus facile que de travailler avec une autre bibliothèque d’UI C ++ / C #. Vous pouvez choisir de travailler avec .NET ou Node.js pour communiquer avec le navigateur Web d’Electron qui fournit une interface utilisateur via HTML5, CSS.

    Electron UI avec .NET et Node.js


Upvote. Votre lien MS contient essentiellement tout ce que je voulais inclure. Pouvez-vous mettre les parties importantes du lien dans la réponse?
Anwar

Bien sûr, merci pour l'upvoted. Être traité vraiment bien ici, pour la deuxième question Microsoft. Tant que Microsoft essaiera d'être neutre dans son projet Open Source, je pense que Unix devrait également les accueillir, tout comme Friends, de même que Bash sous Windows 10.
Edward Chan JW
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.