
Como provavelmente pelo menos algumas pessoas sabem, a Microsoft tornou o framework de aplicativos .NET de código aberto.
Isso significa que será possível executar mais programas do Windows no Linux e, de alguma forma, acelerar o wine integrando APIs diretamente? Ou é mais apenas um sistema de desenvolvimento que não será possível integrar nativamente para funcionar tão bem quanto os programas escritos para usar o bash?
Já usei o wine e descobri que, mesmo em distros onde ele está instalado nativamente ele acaba rodando devagar até mesmo para os programas mais básicos, e com discos virtuais e afins acaba sendo chato de usar. Será possível integrar as APIs em nível de núcleo/kernel, talvez mudar algumas coisas para que as barras sejam representadas de maneira diferente e lançar uma versão relatada do Windows e deixá-las funcionar como seriam nativamente? Se alguém acha que isso só será possível quando os porcos voarem por conta própria, diga-me que isso nunca funcionará, mas eu gostaria de saber especificamente por que funcionaria ou não, e não apenas uma resposta de uma palavra.
Responder1
O que o vinho tem a ver com isso? Vamos ignorar isso por um momento.
A Microsoft está abrindo o código-fonte das partes principais do .NET, além de tornar o ASP.NET mais código-fonte aberto do que já era. Por si só, essas duas partes permitiriam criar aplicativos de linha de comando e sites ASP.NET. Se você tiver aplicativos como este, eventualmente será possível criar alvos Linux (se isso for necessário) e executá-los nativamente no Ubuntu.
Dito isto, há toda uma frota de componentes .NET necessários para criar algo como um aplicativo GUI. No Windows, os desenvolvedores usam recursos como o Windows Presentation Foundation para desenhar coisas na tela. No Mono, podemos usar coisas como GTK# e Qt#. Se você deseja um aplicativo multiplataforma, precisa de um kit de ferramentas multiplataforma.
Essa é uma maneira muito prolixa de dizer que não vai mudar muita coisa inicialmente. Os desenvolvedores poderiam usar o Mono antes se quisessem aplicativos multiplataforma e ainda podem. No futuro, talvez seja mais fácil incluir os kits de ferramentas do Mono em um projeto VS.NET, ou a MS substituirá o WPF por um kit de ferramentas multiplataforma.
De volta ao vinho. Um aplicativo .NET rodando no Wine ainda precisará de algo para fornecer bibliotecas de apresentação e (se forem bibliotecas nativas do Windows) eles ainda precisarão iratravésVinho para que o ambiente certo seja fornecido para eles. O Wine ainda é o elo entre o aplicativo e o hardware (bem, hardware virtual por meio do Linux) sobre o qual o .NET se baseia. Não consigo imaginar esse acordo mudando tão cedo.