¿Cómo desarrollo aplicaciones .NET en Ubuntu?

38

en la universidad usamos Microsoft .NET para desarrollar aplicaciones. Recientemente me cambié a Ubuntu y me gustaría conocer herramientas similares para hacer aplicaciones en / para ubuntu.

Owais Lone
fuente
44
Me gustaría recomendarle que considere aprender otro idioma como Python o C / C ++. Una gran cantidad (de hecho, probablemente la mayoría) de las aplicaciones en el repositorio están escritas en esos idiomas.
Nathan Osman
2
Aunque será bastante fácil aprender otro idioma, ciertamente no es necesario ni particularmente deseable (aparte de la exposición a otros estilos de programación).
RAOF
Si desea usar Linux día a día pero quiere desarrollar C # sin los problemas de compatibilidad de Mono, considere tener una máquina virtual de Windows en VirtualBox.
Mark K Cowan

Respuestas:

36

También puedes programar en .NET en ubuntu. Especie de. Hay una implementación de código abierto de la plataforma .NET disponible llamada MONO. Las aplicaciones MONO pueden ejecutarse en Ubuntu / Linux, Windows y Mac OS. Busque MonoDevelop en el Centro de software de Ubuntu. Obtenga más información sobre Mono en Ubuntu .

Otra opción es rápidamente. En mi opinión, Quickly es mejor para el desarrollo de aplicaciones centradas en Ubuntu. Puede codificar su aplicación y liberarla en un PPA (repositorio de launchpad) en minutos. Rápidamente también está disponible en el Centro de software de Ubuntu. Comience a escribir aplicaciones con Quickly .

Owais solitario
fuente
1
+1 por responder la pregunta. (Personalmente odio mono, pero bueno.)
Nathan Osman
3
su enlace mono-project.com apunta a la URL Rápidamente
McDowell
1
Puede usar los lenguajes CLI (.NET) y las bibliotecas estándar muy bien: las versiones de mono en los últimos lanzamientos de Ubuntu admiten C # 3.0 y (la mayoría de) .NET 3.5. Sin embargo, querrás aprender la biblioteca GTK # UI. Las aplicaciones System.Winforms y WPF no se verán nativas, y WPF tampoco está completamente implementado.
RAOF
1
Querrá recoger el IDE de MonoDevelop. Aparte del desarrollo de la GUI (* nix usa GTK # para arrastrar y soltar vs Winforms / WPF en Windows) el desarrollo en Ubuntu no es muy diferente al desarrollo en Windows.
Evan Plaice
@Owais Lone - Los enlaces proporcionados en la respuesta no funcionan, intenta renovarlos o agrega un sustituto
Chinmaya B
12

¡Rápidamente puede ayudarlo a crear aplicaciones geniales usando Python (bastante fácil de aprender y muy popular) rápidamente!

Umang
fuente
2
+1 por sugerir Python / Quickly. Soy un programador profesional de Python y uso Ubuntu en mi computadora. Ubuntu (y Linux en general) es ideal para desarrollar Python.
codeape
6

El lenguaje Vala es un lenguaje de programación muy similar a C #. Todavía es muy joven, pero ya tiene muchos enlaces a bibliotecas existentes (por ejemplo, GTK). Se compila en binarios nativos, por lo que sus usuarios no necesitan un tiempo de ejecución adicional, como lo harían para .NET.

Vea una introducción a Vala para programadores de C # .

thbusch
fuente
si está apuntando a ubuntu, entonces mono está preinstalado y no requiere tiempo de ejecución adicional.
Trampster
1
Parece que ese enlace a Vala para C # no funciona. Pruebe este, live.gnome.org/Vala/ValaForCSharpProgrammers . También hay uno para programadores de Java, live.gnome.org/Vala/ValaForJavaProgrammers .
Mark B
gracias Mark, parece que han reestructurado su wiki, he corregido el enlace en la respuesta.
thbusch
5

No veo ninguna razón para todas estas sugerencias de que cambie las plataformas / idiomas de la aplicación. Usa lo que estás acostumbrado y serás más productivo que tener que pasar tiempo aprendiendo otro idioma.

Monodevelop le dará una mejor experiencia de desarrollo Mono: no es Visual Studio, pero es el mejor IDE integrado para mono que obtendrá en Ubuntu. El diseño visual de los formularios GTK y sus controles es una gran victoria (piense en Winforms pero en el estilo Linux).

Rob Cowell
fuente
2

Hay todo tipo de herramientas disponibles en Linux que le permiten crear aplicaciones de escritorio enriquecidas. Bowline es un marco de mvc que le permite crear aplicaciones de escritorio en ruby. Shoes es otro marco que le permite crear aplicaciones de escritorio en ruby, y es, con mucho, el marco de aplicaciones de escritorio más fácil.

Khaja Minhajuddin
fuente
2

Comienza a aprender Qt . Es un marco basado en C ++. Es multiplataforma y también funciona bien en Windows. Incluso tiene un complemento para Visual Studio. Por lo general, se usa para la plataforma KDE. Para GNOME, puedes aprender GTK # .

De Wikipedia ,

En lugar del kit de herramientas Qt, se eligió GTK + como base del escritorio GNOME.

usuario
fuente
1
Qt funciona en GNOME
dv3500ea
@ dv3500ea: No lo entendiste. QT se utiliza para desarrollar aplicaciones KDE, eso no significa que las aplicaciones creadas por QT no se ejecuten en GNOME. De la misma manera, las aplicaciones GTK se ejecutarán en KDE. Pero no puede usar GTK para crear aplicaciones de KDE
usuario
1
Sin embargo, no es 'solo para la plataforma KDE'.
dv3500ea
1
QT no se usa para construir aplicaciones KDE. QT se utiliza para construir GUI. KDE usa QT para construir sus aplicaciones. QT también se puede utilizar para crear aplicaciones GTK.
Owais Lone
Creo que estoy totalmente perdido aquí. Marcado como wiki de la comunidad. Gracias por tu apoyo y paciencia.
usuario
2

Para desarrollar aplicaciones específicamente para Ubuntu, dirígete al sitio web de desarrolladores de Ubuntu . Entre otras cosas puedes:

Tienen un marco llamado Quickly .

Hay buenas referencias en las otras respuestas a Qt y GTK. Una fuente interesante de directrices es el sitio web de desarrolladores de Gnome .

El marco / IDE a utilizar dependerá del idioma que utilice. Puedes usar MS Visual Studio Code en Ubuntu .

Ramon Suarez
fuente
1
La recompensa que comencé es específicamente sobre dotnet. La respuesta debería ser muy fácil. Incluso puede encontrar la pieza actualizada relevante del sitio web de Microsoft
Anwar,
@Anwar Me confundí con la descripción. Para mí no estaba claro si la idea era hacer .Net o desarrollarme como .Net. Respondí a la segunda interpretación
Ramón Suárez
Agregue más detalles a esa parte de la respuesta. Debe incluir el proceso básico de instalación
Anwar
@Anwar Lo siento, no entiendo tu comentario.
Ramon Suarez
2

Siempre haga referencia cruzada de CoreCLR (.NET Core runtime) con Mono. Además, vea esta pregunta recopilada personas relacionadas y opinión oficial para CoreCLR y la relación del proyecto Mono después de que Microsoft haya abierto el .NET

Creo que una de las cosas buenas de Giants of IT Industry es la documentación oficial.

El siguiente comando es una copia de Introducción a la aplicación .NET Hello World Console en Ubuntu , excepto la narración y opinión agregadas al final. Posiblemente consulte el enlace anterior, si alguno de los comandos falla.

  1. Requisito previo: Introducción a la aplicación .NET Hello World Console en Ubuntu . La instrucción aquí asume que estás ejecutando Ubuntu 16.04 LTS.

    Para instalar .NET Core en Ubuntu o Linux Mint, primero debe configurar el feed apt-get que aloja el paquete que necesita. Por lo tanto, configure el repositorio de apt con estos comandos.

    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. Instale .NET Core SDK

    sudo apt-get install dotnet-dev-1.0.1
    
  3. Inicializar una aplicación Hello World de muestra

    dotnet new console -o hwapp
    cd hwapp
    

    Mire el estilo, es casi más fácil comenzar como Node.js, es como las herramientas CLI para todas las herramientas de desarrollo de nueva generación como Spring Boot, Angular 2, etc., que solo puede inicializar las aplicaciones Hello World con el comando:

  4. Ejecuta la aplicación

    dotnet restore
    dotnet run
    

    El primer comando restaurará los paquetes especificados en el archivo del proyecto, y el segundo comando ejecutará la muestra real:

  5. Finalmente, si puede atravesar un poco complicado, pero si necesita una interfaz de usuario, creo que será más fácil que trabajar con otra biblioteca de UI de C ++ / C #. Puede optar por trabajar con .NET o Node.js para comunicarse con el navegador web de Electron para proporcionar la interfaz de usuario a través de HTML5, CSS.

    IU de electrones con .NET y Node.js

Edward Chan JW
fuente
Votado Su enlace de MS tiene esencialmente todo lo que quería que se incluyera. ¿Puedes poner las partes importantes del enlace en la respuesta?
Anwar
Claro, gracias por la votación. Me han tratado muy bien aquí, para la segunda pregunta de Microsoft. Mientras Microsoft trate de ser neutral en su proyecto de Código Abierto, creo que Unix también debería darles la bienvenida, como Amigos como lo mismo con Bash en Windows 10.
Edward Chan JW