Uma estrutura .NET de código aberto permitirá compatibilidade integrada de programas do Windows?

Uma estrutura .NET de código aberto permitirá compatibilidade integrada de programas do Windows?

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.

informação relacionada