Como desenvolvo aplicativos .NET no Ubuntu?

38

na faculdade, usamos o Microsoft .NET para desenvolver aplicativos. Recentemente, mudei para o Ubuntu e gostaria de conhecer ferramentas semelhantes para criar aplicativos no / para o Ubuntu.

Owais Lone
fonte
4
Eu gostaria que você considerasse aprender outra linguagem como Python ou C / C ++. Um grande número (de fato, provavelmente a maioria) de aplicativos no repositório está escrito nesses idiomas.
Nathan Osman
2
Embora seja muito fácil escolher outra linguagem, certamente não é necessário ou particularmente desejável (exceto a exposição a outros estilos de programação).
RAOF 02/08/10
Se você deseja usar o Linux diariamente, mas deseja desenvolver C # sem os problemas de compatibilidade do Mono, considere ter uma máquina virtual Windows no VirtualBox.
Mark K Cowan

Respostas:

36

Você também pode programar no .NET no ubuntu. Bem, mais ou menos. Existe uma implementação de código aberto da plataforma .NET disponível chamada MONO. Os aplicativos MONO podem ser executados no Ubuntu / Linux, Windows e Mac OS. Procure o MonoDevelop no Ubuntu Software Center. Saiba mais sobre o Mono no Ubuntu .

Outra opção é Rapidamente. Na minha opinião, Quickly é melhor para o desenvolvimento de aplicativos centralizados no Ubuntu. Você pode codificar seu aplicativo e liberá-lo para um PPA (launchpad-repository) em minutos. Rapidamente também está disponível no Ubuntu Software Center. Comece a escrever aplicativos com o Quickly .

Owais Lone
fonte
1
+1 para responder à pergunta. (Pessoalmente eu odeio mono, mas tudo bem.)
Nathan Osman
3
o link do seu mono-project.com aponta para o URL Rapidamente
McDowell
1
Você pode usar as linguagens CLI (.NET) e as bibliotecas padrão muito bem - as versões do mono nas versões recentes do Ubuntu suportam C # 3.0 e (a maioria) .NET 3.5. Você desejará aprender a biblioteca de UI do GTK #. Os aplicativos System.Winforms e WPF não parecerão nativos e o WPF também não está totalmente implementado.
RAOF 2/08/10
1
Você deseja adquirir o IDE MonoDevelop. Além do desenvolvimento da GUI (* nix usa GTK # para arrastar e soltar vs Winforms / WPF no Windows), o desenvolvimento no Ubuntu não é muito diferente do desenvolvimento no Windows.
Evan Plaice
@Owais Lone - Os links fornecidos na resposta não estão funcionando, tente renová-los ou adicionar um substituto.
Chinmaya B
12

Rapidamente pode ajudá-lo a criar aplicativos legais usando o Python (muito fácil de aprender e muito popular) rapidamente!

Umang
fonte
2
+1 por sugerir Python / Rapidamente. Sou um programador profissional de Python e uso o Ubuntu no meu computador. O Ubuntu (e Linux em geral) é ótimo para o desenvolvimento de Python.
Codeape 4/08/10
6

A linguagem Vala é uma linguagem de programação muito semelhante ao C #. Ainda é muito jovem, mas já possui muitas ligações com bibliotecas existentes (por exemplo, GTK). Ele é compilado em binários nativos, para que seus usuários não precisem de um tempo de execução adicional, como precisariam para o .NET.

Veja uma introdução ao Vala para programadores em C # .

thbusch
fonte
Se você está mirando no ubuntu, o mono é pré-instalado e, portanto, não requer tempo de execução adicional.
trampster 6/09/10
1
Parece que esse link para Vala para C # não funciona. Tente este, em vez disso, live.gnome.org/Vala/ValaForCSharpProgrammers . Há também um para programadores Java, live.gnome.org/Vala/ValaForJavaProgrammers .
Mark B
obrigado Mark, parece que eles reestruturaram seu wiki, eu corrigi o link na resposta.
Thbusch
5

Não vejo razão para todas essas sugestões que você alterna entre plataformas / idiomas de aplicativos. Use o que você está acostumado e será mais produtivo do que ter que gastar tempo aprendendo outro idioma.

O Monodevelop oferecerá uma melhor experiência no desenvolvimento do Mono - não é o Visual Studio, mas é o melhor IDE integrado para mono que você encontrará no Ubuntu. O design visual dos formulários GTK e seus controles é uma grande vitória (pense no Winforms, mas no estilo Linux).

Rob Cowell
fonte
2

Existem todos os tipos de ferramentas disponíveis no Linux que permitem criar aplicativos de desktop avançados. Bowline é uma estrutura mvc que permite criar aplicativos de desktop em ruby. Shoes é outra estrutura que permite criar aplicativos de desktop em rubi e é de longe a estrutura de aplicativos de desktop mais fácil.

Khaja Minhajuddin
fonte
2

Comece a aprender Qt . É uma estrutura baseada em C ++. É multiplataforma e também funciona bem no Windows. Mesmo ele tem um suplemento para o Visual Studio. Geralmente é usado para a plataforma KDE. Para o GNOME, você pode aprender GTK # .

Na Wikipedia ,

No lugar do kit de ferramentas Qt, o GTK + foi escolhido como a base da área de trabalho do GNOME.

usuário
fonte
1
O Qt funciona no GNOME
dv3500ea
@ dv3500ea: Você não entendeu. O QT é usado para desenvolver aplicativos do KDE, o que não significa que os aplicativos criados pelo QT não sejam executados no GNOME. Da mesma forma que os aplicativos GTK serão executados no KDE. Mas você não pode usar o GTK para criar aplicativos KDE
usuário
1
Não é 'apenas para a plataforma KDE'.
dv3500ea
1
O QT não é usado para criar aplicativos do KDE. QT é usado para criar GUIs. O KDE usa o QT para criar seus aplicativos. O QT também pode ser usado para criar aplicativos GTK.
Owais Lone
Eu acho que estou totalmente perdido aqui. Marcado como wiki da comunidade. Obrigado pelo seu apoio e paciência.
usuário
2

Para desenvolver aplicativos especificamente para o Ubuntu, acesse o site do desenvolvedor do Ubuntu . Entre outras coisas, você pode:

Eles têm uma estrutura chamada Rapidamente .

Existem boas referências nas outras respostas para Qt e GTK. Uma fonte interessante de diretrizes é o site de desenvolvedores do Gnome .

A estrutura / IDE a ser usada dependerá do idioma que você usar. Você pode usar o código do MS Visual Studio no Ubuntu .

Ramon Suarez
fonte
1
A recompensa que comecei é especificamente sobre dotnet. A resposta deve ser muito fácil. Você pode até achar a peça atualizados relevante a partir do site da Microsoft
Anwar
@ Anwar fiquei confuso com a descrição. Não estava claro para mim se a ideia era fazer .Net ou desenvolver como .Net. Eu respondi com a segunda interpretação
Ramon Suarez
Adicione mais detalhes a essa parte da resposta. Deve incluir processo de instalação básica
Anwar
@ Anwar Desculpe, eu não entendo o seu comentário.
Ramon Suarez
2

Sempre faça referência cruzada do CoreCLR (.NET Core runtime) com o Mono. Além disso, por favor, consulte esta pergunta para coletar pessoas relacionadas e opinião oficial do CoreCLR e do projeto Mono, depois que a Microsoft abriu o .NET

Acho que uma das coisas boas da Giants of IT Industry é a documentação oficial.

O comando a seguir é copiado da Introdução ao aplicativo .NET Hello World Console no Ubuntu , exceto as narrações e opiniões adicionadas no final. Possivelmente, consulte o link acima, se algum dos comandos falhar.

  1. Pré-requisito: Introdução ao aplicativo .NET Hello World Console no Ubuntu . As instruções aqui assumem que você esteja executando o Ubuntu 16.04 LTS.

    Para instalar o .NET Core no Ubuntu ou Linux Mint, você precisa primeiro configurar o feed apt-get que hospeda o pacote necessário. Portanto, configure o repositório apt com esses 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. Instalar o .NET Core SDK

    sudo apt-get install dotnet-dev-1.0.1
    
  3. Inicializar um aplicativo Hello World de amostra

    dotnet new console -o hwapp
    cd hwapp
    

    Olhe o estilo, é quase mais fácil começar como Node.js, é como as ferramentas CLI para todas as ferramentas de desenvolvimento de nova geração, como Spring Boot, Angular 2 etc, que você pode inicializar apenas aplicativos Hello World com o comando:

  4. Execute o aplicativo

    dotnet restore
    dotnet run
    

    O primeiro comando restaurará os pacotes especificados no arquivo do projeto e o segundo comando executará a amostra real:

  5. Por fim, se você puder passar um pouco complicado, mas se precisar de interface do usuário, acho que isso será mais fácil do que trabalhar com outra biblioteca de interface do usuário em C ++ / C #. Você pode optar por trabalhar com o .NET ou o Node.js para se comunicar com o navegador da Web da Electron e fornecer a interface do usuário através de HTML5, CSS.

    Interface de usuário eletrônica com .NET e Node.js

Edward Chan JW
fonte
Votado. Seu link do MS tem basicamente tudo o que eu queria incluir. Você pode colocar as partes importantes do link na resposta?
Anwar
Claro, obrigado pelos votados. Fui tratado muito bem aqui, pela segunda pergunta da Microsoft. Enquanto a Microsoft tentar ser neutra em seu projeto de código-fonte aberto, acho que o Unix também deve recebê-los, assim como os amigos com o Bash no Windows 10.
Edward Chan JW