Um programa C# pode ser multi-plataforma?

sou um novato na programação, e estou a considerar usar o C# para escrever um programa muito simples que simplesmente edita um ficheiro de texto.

  • funcionará em Macs e Linux? O que vai funcionar?
  • Quero saber o que faz um programa atravessar plataforma.
Author: sameold, 2011-08-07

8 answers

Sim, O C# é multi-plataforma graças ao projecto {[[2]}Mono . Mas tenha em mente que esta é uma implementação de terceiros, e não é da Microsoft. Assim, qualquer característica bleeding-edge da última versão. net runtime ou C# language pode não ser implementada.

 14
Author: Justin Ethier, 2011-08-07 19:27:18

É difícil responder algo assim a alguém, que afirma que ele apenas começa a programar, mas vou tentar dar - lhe uma visão geral (um pouco simplificada): C# é uma linguagem, que é compilada em um programa executável. A linguagem em si é portátil entre plattforms, desde que você tenha um compilador em cada plataforma alvo. No Windows você tem a implementação" default". Net e no Linux/Mac você tem Mono. Para fazer algo útil - como editar arquivos - você tem que usar alguns biblioteca. Há uma biblioteca padrão que está disponível em cada plataforma. Enquanto você usar apenas essa funcionalidade, seu programa será cross plattform. Obviamente não será cross plattform, assim que você usar alguma biblioteca específica a uma determinada plataforma. Editar arquivos é parte da biblioteca padrão, então você pode implementar tais ferramentas simples de uma forma de plataforma cruzada. Ao escolher um livro, você deve procurar livros que se concentrem na linguagem "raw" e não em estúdio Visual ou outros ferramentas específicas.

 6
Author: Achim, 2011-08-07 19:32:39

Uma nova versão de código aberto da Microsoft chamada CoreCLR é multi-plataforma e pode agora ser usada para este

O repo CoreCLR contém a implementação completa de tempo de execução para o núcleo.net. Ele inclui RyuJIT, GC. net, Interop nativo e muitos outros componentes. É multi-plataforma, com múltiplas portas de SO e CPU em andamento. - Do repo CoreCLR.

 4
Author: tylerlindell, 2015-05-11 16:18:00

Eu não recomendaria C# como a melhor escolha para codificação multiplataforma. Eu recomendaria python em vez disso é muito fácil de executar, mesmo como um script e funciona perfeitamente em todas as plataformas. Se você insiste em C# esteja preparado para lidar com o mesmo problema explicado por Justin Ethier. Python por outro lado, é o mesmo para todas as plataformas, é super poderoso rápido e até mesmo tem embalagens prontas para se conectar a outras linguagens.

 3
Author: Zloy Smiertniy, 2015-05-27 23:29:11

Este artigo sobre o projeto Mono wiki faz um trabalho muito bom resumindo como escrever aplicativos portáteis com C#.

 2
Author: cdhowie, 2011-08-07 19:27:37

Agora C# é totalmente plataforma transversal e tem uma variedade de frameworks e tempos de execução.

Java é uma linguagem + framework. Mas C# é apenas uma linguagem moderna. As características da linguagem C# são muito poderosas, fáceis de aprender. Não há confusão entre enquadramento e linguagem.

C# pode ser usado nos seguintes quadros

  • . Net core (multi platform supports Linux, Windows and Mac), mostly used to develop restful services, web applications and enterprise systems
  • Quadro Net (Apenas para Windows), o mesmo que o núcleo. net, mas tem mais funcionalidades apenas para windows
  • Unity-um dos motores de jogo mais usados para desenvolver jogos para PC, Sony, Xbox, etc.. Xamarin-para desenvolver aplicações móveis nativas (Android, IOS, Mac)
  • padrão. net-crie uma biblioteca em .net uso padrão em todas as aplicações acima

Java - Code once, Ship same file to all platforms

C++, C, Rust - Code once, Compile for specific plataforma

C# - é apenas uma linguagem, escolha a sua estrutura de acordo com os requisitos.

As aplicações mais populares como o Chrome, o Firefox usa C++, ferrugem e são compilados para cada plataforma. Mas ainda assim eles compartilham a maioria do Código entre essas plataformas. Alguns jogos usam C++ para compartilhar o código entre IOS e Android.

Para os novos programadores é bom começar com NodeJS e C#. Ambos são fáceis e podem fazer qualquer tipo de aplicações.

 2
Author: CreativeManix, 2018-08-17 01:06:23

O C# é uma plataforma cruzada e você pode executar o seu programa no Windows/Linux e no Mac. Para o Linux, no entanto, você precisa executá-lo usando mono

 1
Author: Icarus, 2011-08-07 19:28:02

Se você é um novato e não insistir em C#, tente Java, não está longe da sintaxe C# e executando

java -jar myprogram.jar

É o mesmo para o Mac / Linux / Win.

 0
Author: Bechyňák Petr, 2017-10-23 14:30:42