Come posso sviluppare app .NET su Ubuntu?


38

al college utilizziamo Microsoft .NET per lo sviluppo di applicazioni. Di recente sono passato a Ubuntu e vorrei conoscere strumenti simili per creare app su / per Ubuntu.


4
Vorrei esortarvi fortemente a considerare di imparare un'altra lingua come Python o C / C ++. Un gran numero (in realtà, probabilmente la maggior parte) di applicazioni nel repository sono scritte in quelle lingue.
Nathan Osman,

2
Anche se sarà abbastanza facile imparare un'altra lingua, non è certamente necessario o particolarmente desiderabile (oltre all'esposizione ad altri stili di programmazione).
RAOF

Se vuoi usare Linux quotidianamente ma vuoi sviluppare C # senza i problemi di compatibilità di Mono, considera di avere una macchina virtuale Windows in VirtualBox.
Mark K Cowan il

Risposte:


36

Puoi programmare in .NET anche su Ubuntu. Beh, in un certo senso. Esiste un'implementazione open source della piattaforma .NET disponibile chiamata MONO. Le app MONO possono essere eseguite su Ubuntu / Linux, Windows e Mac OS. Cerca MonoDevelop in Ubuntu Software Center. Ulteriori informazioni su Mono in Ubuntu .

Un'altra opzione è Rapidamente. A mio avviso, Quickly è meglio per lo sviluppo di app incentrate su Ubuntu. Puoi codificare la tua app e rilasciarla su un PPA (launchpad-repository) in pochi minuti. Rapidamente è disponibile anche da Ubuntu Software Center. Inizia a scrivere app con Quickly .


1
+1 per aver risposto alla domanda. (Personalmente odio il mono, ma vabbè.)
Nathan Osman,

3
il tuo link mono-project.com punta all'URL Quickly
McDowell

1
Puoi usare bene i linguaggi CLI (.NET) e le librerie standard: le versioni di mono nelle recenti versioni di Ubuntu supportano C # 3.0 e (la maggior parte di) .NET 3.5. Tuttavia, ti consigliamo di imparare la libreria UI GTK #. System.Winforms e le applicazioni WPF non appariranno native e anche WPF non è completamente implementato.
RAOF

1
Ti consigliamo di raccogliere l'IDE MonoDevelop. A parte lo sviluppo della GUI (* nix usa GTK # per drag-drop vs Winforms / WPF su Windows) lo sviluppo in Ubuntu non è molto diverso dallo sviluppo in Windows.
Evan Plaice,

@Owais Lone - I link forniti in risposta non funzionano, prova a rinnovarli o aggiungi un sostituto
Chinmaya B

12

Può aiutarti rapidamente a creare fantastiche app usando Python (abbastanza facile da imparare e molto popolare) rapidamente!


2
+1 per suggerire Python / Rapidamente. Sono un programmatore professionista Python e utilizzo Ubuntu sul mio computer. Ubuntu (e Linux in generale) è ottimo per lo sviluppo di Python.
codeape,

6

Il linguaggio Vala è un linguaggio di programmazione molto simile a C #. È ancora molto giovane, ma ha già molti vincoli con le librerie esistenti (ad esempio, GTK). Si compila in binari nativi, quindi i tuoi utenti non hanno bisogno di un runtime aggiuntivo, come farebbero per .NET.

Vedi un'introduzione a Vala per programmatori C # .


se stai prendendo di mira Ubuntu, quindi mono è preinstallato e quindi non richiede alcun runtime aggiuntivo.
trampster

1
Sembra che quel link a Vala per C # non funzioni. Prova questo, invece, live.gnome.org/Vala/ValaForCSharpProgrammers . Ce n'è anche uno per programmatori Java, live.gnome.org/Vala/ValaForJavaProgrammers .
Marco B,

grazie Marco, sembra che abbiano ristrutturato il loro wiki, ho corretto il link nella Risposta.
thbusch,

5

Non vedo alcun motivo per tutti questi suggerimenti che si cambia piattaforme / lingue dell'applicazione. Usa ciò a cui sei abituato e sarai più produttivo di dover dedicare del tempo all'apprendimento di un'altra lingua.

Monodevelop ti darà una migliore esperienza di sviluppo Mono - non è Visual Studio, ma è il miglior IDE integrato per mono che otterrai su Ubuntu. La progettazione visiva delle forme GTK e dei loro controlli è una grande vittoria (pensa a Winforms ma in stile Linux).


2

Ci sono tutti i tipi di strumenti disponibili su Linux che ti consentono di creare applicazioni desktop avanzate. Bowline è un framework mvc che ti consente di creare applicazioni desktop in ruby. Shoes è un altro framework che ti consente di creare app desktop in ruby ​​ed è di gran lunga il framework per app desktop più semplice.


2

Inizia a studiare Qt . È un framework basato su C ++. È multipiattaforma e funziona bene anche su Windows. Anche ha un componente aggiuntivo per Visual Studio. Di solito è usato per la piattaforma KDE. Per GNOME, puoi imparare GTK # .

Da Wikipedia ,

Al posto del toolkit Qt, GTK + è stato scelto come base del desktop GNOME.


1
Qt funziona su GNOME
dv3500ea,

@ dv3500ea: non l'hai capito. QT è usato per sviluppare applicazioni KDE, ciò non significa che le applicazioni create da QT non funzioneranno su GNOME. Allo stesso modo le applicazioni GTK verranno eseguite su KDE. Ma non puoi usare GTK per creare applicazioni KDE
utente

1
Tuttavia, non è "solo per la piattaforma KDE".
dv3500ea,

1
QT non viene utilizzato per creare app KDE. QT viene utilizzato per creare GUI. KDE usa QT per creare le sue app. QT può essere utilizzato anche per creare app GTK.
Owais Lone,

Penso di essermi perso completamente qui. Contrassegnato come wiki della comunità. Grazie per il vostro supporto e pazienza.
utente

2

Per sviluppare app specifiche per Ubuntu, vai al sito Web degli sviluppatori di Ubuntu . Tra l'altro puoi:

Hanno un framework chiamato Quickly .

Ci sono buoni riferimenti nelle altre risposte a Qt e GTK. Una fonte interessante per le linee guida è il sito Web degli sviluppatori di Gnome .

Il framework / IDE da utilizzare dipenderà dalla lingua utilizzata. Puoi usare MS Visual Studio Code su Ubuntu .


1
La taglia che ho iniziato riguarda in particolare dotnet. La risposta dovrebbe essere molto semplice. Puoi persino trovare il pezzo aggiornato pertinente dal sito Web di Microsoft
Anwar

@Anwar Mi sono confuso con la descrizione. Per me non era chiaro se l'idea fosse fare .Net o svilupparsi come con .Net. Ho risposto alla seconda interpretazione
Ramon Suarez,

Aggiungi maggiori dettagli a quella parte della risposta. Dovrebbe includere il processo di installazione di base
Anwar

@Anwar Siamo spiacenti, non capisco il tuo commento.
Ramon Suarez,

2

Si prega di fare sempre riferimento incrociato CoreCLR (.NET Core runtime) con Mono. Inoltre, si prega di vedere questa domanda raccolta persone correlate e opinione ufficiale per CoreCLR e relazione Mono progetto dopo che Microsoft ha aperto la rete .NET

Penso che una delle cose positive di Giants of IT Industry sia la documentazione ufficiale.

Il seguente comando viene copiato da Introduzione a .NET Hello World Console Application in Ubuntu , ad eccezione dell'aggiunta di narrazione e opinione. Eventualmente fare riferimento al link sopra, se uno qualsiasi dei comandi non è riuscito.

  1. Prerequisito: Introduzione all'applicazione .NET Hello World Console in Ubuntu . Le istruzioni qui presuppongono che tu stia eseguendo Ubuntu 16.04 LTS.

    Per installare .NET Core su Ubuntu o Linux Mint, devi prima impostare il feed apt-get che ospita il pacchetto di cui hai bisogno. Quindi, installa il repository apt con questi comandi.

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

    sudo apt-get install dotnet-dev-1.0.1
    
  3. Inizializza un'applicazione Hello World di esempio

    dotnet new console -o hwapp
    cd hwapp
    

    Guarda lo stile, è quasi più facile iniziare come Node.js, è come gli strumenti della CLI per tutti gli strumenti di sviluppo di nuova generazione come Spring Boot, Angular 2 ecc., Che puoi semplicemente inizializzare un'app Hello World con il comando:

  4. Esegui l'app

    dotnet restore
    dotnet run
    

    Il primo comando ripristinerà i pacchetti specificati nel file di progetto e il secondo comando eseguirà l'esempio effettivo:

  5. Infine, se riesci a passare un po 'complicato, ma se hai richiesto l'interfaccia utente, penso che sarà più facile che lavorare con altre librerie dell'interfaccia utente C ++ / C #. Puoi scegliere di lavorare con .NET o Node.js per comunicare con il browser Web di Electron per fornire l'interfaccia utente tramite HTML5, CSS.

    Interfaccia utente elettronica con .NET e Node.js


Upvoted. Il tuo link MS ha essenzialmente tutto ciò che volevo essere incluso. Puoi mettere le parti importanti del link nella risposta?
Anwar,

Certo, grazie per l'upgrade. Sono stato trattato davvero bene qui, per la seconda domanda di Microsoft. Fintanto che Microsoft cercherà di essere neutrali nel loro progetto Open Source, penso che anche Unix dovrebbe dar loro il benvenuto, così come gli amici con Bash su Windows 10.
Edward Chan JW
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.