OFF TOPIC - INFORMATIVO DELPHI
O Mono tem versão para Mac, Linux e Windows, sendo que a versão mais nova oficialmente é apenas para o OpenSUSE.
Ele não é 100% compatÃvel com o .Net da Microsoft no que se trata de bibliotecas disponÃveis, ele tem recursos até do .Net 4.5, como por exemplo o async/await, porém ele pode ter coisas faltando em algumas bibliotecas.
Então um programa feito no VS.Net provavelmente não vai rodar no Linux por exemplo, até porque o Windows Forms não foi implementado totalmente no Mono, porém se você fizer um programa para o Mono ele vai rodar tanto no Windows, Linux e Mac, e no caso do Windows o programa deve rodar inclusive com o .Net Framework da Microsoft, tanto que o Mono para Windows é mais para testes, para saber se o programa roda no Mono quando se desenvolve com o VS.Net. Antigamente vendiam um plugin para o VS.Net para desenvolver com o Mono dentro do VS.Net, não sei se isso ainda existe mas se não me engano ele inclusive incluÃa um designer de interfaces gráficas que usava o GTK#, que pode ser usado nos 3 sistemas operacionais.
Mas se o Mono que é gratuito roda no Mac devem estar pensando o porque da Xamarin vender uma versão pro Mac, e a resposta pra isso é que a versão que ela vende para o Mac inclui bibliotecas especÃficas para o Mac, como por exemplo para a criação de interfaces gráficas nativas do Mac.
Ele não é 100% compatÃvel com o .Net da Microsoft no que se trata de bibliotecas disponÃveis, ele tem recursos até do .Net 4.5, como por exemplo o async/await, porém ele pode ter coisas faltando em algumas bibliotecas.
Então um programa feito no VS.Net provavelmente não vai rodar no Linux por exemplo, até porque o Windows Forms não foi implementado totalmente no Mono, porém se você fizer um programa para o Mono ele vai rodar tanto no Windows, Linux e Mac, e no caso do Windows o programa deve rodar inclusive com o .Net Framework da Microsoft, tanto que o Mono para Windows é mais para testes, para saber se o programa roda no Mono quando se desenvolve com o VS.Net. Antigamente vendiam um plugin para o VS.Net para desenvolver com o Mono dentro do VS.Net, não sei se isso ainda existe mas se não me engano ele inclusive incluÃa um designer de interfaces gráficas que usava o GTK#, que pode ser usado nos 3 sistemas operacionais.
Mas se o Mono que é gratuito roda no Mac devem estar pensando o porque da Xamarin vender uma versão pro Mac, e a resposta pra isso é que a versão que ela vende para o Mac inclui bibliotecas especÃficas para o Mac, como por exemplo para a criação de interfaces gráficas nativas do Mac.
Então em outras palavras, se eu programar em Mono funciona em qualquer SO, mas se programar no VS não.
Com isso não conseguiria converter um aplicativo que estou fazendo do VS para Mono, e teria de reencrevê-lo todo no MONO , pois não há 100% de compatibilidade com WinForms que uso é isso?
Outra coisa, usando MONO da mesma forma tem que comprar os XAMARINS para cada SO que quiser compilar, mas isso fica caro hein. U$ 999 oara cada SO, além da licença ser só por 1 ano. Essa licença é OnLine ou é o suporte/atualizações que é por 1 ano, quando vi licença entendi que é o uso do programa, isso é inviável.
Agora usando o XAMARIN tem recursos especÃficos de cada SO, então teria no caso de rotinas especÃficas que nem sei quais são, usar um código diferente para cada SO na hora de compilar.
Com isso não conseguiria converter um aplicativo que estou fazendo do VS para Mono, e teria de reencrevê-lo todo no MONO , pois não há 100% de compatibilidade com WinForms que uso é isso?
Outra coisa, usando MONO da mesma forma tem que comprar os XAMARINS para cada SO que quiser compilar, mas isso fica caro hein. U$ 999 oara cada SO, além da licença ser só por 1 ano. Essa licença é OnLine ou é o suporte/atualizações que é por 1 ano, quando vi licença entendi que é o uso do programa, isso é inviável.
Agora usando o XAMARIN tem recursos especÃficos de cada SO, então teria no caso de rotinas especÃficas que nem sei quais são, usar um código diferente para cada SO na hora de compilar.
Você só precisa comprar o Xamarin se quiser desenvolver para Android ou IOs, ou caso queira ter acesso aos recursos especÃficos do Mac que não existem no Mono normal.
Usando o Mono gratuito pode rodar o programa no Windows, Linux e Mac, e realmente não vai funcionar o programa que você já fez principalmente pelo fato do Windows Forms não ser suportado corretamente no Mono.
A licença do Xamarin inclui atualizações gratuitas por 1 ano, mas você continua podendo usar ela depois disso, só não vai receber mais atualizações.
Uma outra coisa é que pelo que entendi usando o Xamarin.Mac você realmente gera um programa do Mac que só roda no Mac, inclusive pode ser vendido na App Store, você não precisa instalar nada além do próprio programa para ele funcionar, diferente do Mono que requer a instalação do Mono para poder rodar o programa e o programa gerado na verdade é um exe igual o gerado pelo .Net da Microsoft.
Digamos que você queira desenvolver um programa que vá rodar no Windows, Linux e Mac, para isso você não precisa pagar nada, usando o Mono como framework você pode usar o MonoDevelop para desenvolver o programa, ele inclui um designer de interfaces gráficas usando o GTK# que funciona nos 3 sistemas operacionais, e você só precisa compilar o programa uma única vez.
De qualquer forma, se você quer que o programa roda em vários sistemas operacionais você deve faze-lo assim desde o começo.
Usando o Mono gratuito pode rodar o programa no Windows, Linux e Mac, e realmente não vai funcionar o programa que você já fez principalmente pelo fato do Windows Forms não ser suportado corretamente no Mono.
A licença do Xamarin inclui atualizações gratuitas por 1 ano, mas você continua podendo usar ela depois disso, só não vai receber mais atualizações.
Uma outra coisa é que pelo que entendi usando o Xamarin.Mac você realmente gera um programa do Mac que só roda no Mac, inclusive pode ser vendido na App Store, você não precisa instalar nada além do próprio programa para ele funcionar, diferente do Mono que requer a instalação do Mono para poder rodar o programa e o programa gerado na verdade é um exe igual o gerado pelo .Net da Microsoft.
Digamos que você queira desenvolver um programa que vá rodar no Windows, Linux e Mac, para isso você não precisa pagar nada, usando o Mono como framework você pode usar o MonoDevelop para desenvolver o programa, ele inclui um designer de interfaces gráficas usando o GTK# que funciona nos 3 sistemas operacionais, e você só precisa compilar o programa uma única vez.
De qualquer forma, se você quer que o programa roda em vários sistemas operacionais você deve faze-lo assim desde o começo.
Tópico encerrado , respostas não são mais permitidas