.NET Core - Tornando-se selvagem e de código aberto. Microsoft, por que você demorou tanto?!

Publicados: 2022-03-11

“Algo misterioso se forma, nascido no vazio silencioso. Esperando sozinho e imóvel, está parado, mas em constante movimento…”

Na verdade, dois dos maiores eventos da história humana aconteceram um após o outro:

  • A missão Rosetta da ESA pousou suavemente sua sonda Philae em um cometa, a primeira vez na história que um feito tão extraordinário foi alcançado.

  • Microsoft Open Sources .NET

O primeiro evento é um grande passo para a humanidade, e o último é ainda maior para a Microsoft!

A Missão Rosetta terá seu lugar nos livros de história e será lembrada com a mesma frequência com que nos lembramos de Laika. Foi imaginado e planejado cuidadosamente por uma década, levou a humanidade um passo adiante e mostrou que a tecnologia desenvolvida há uma década ainda pode fazer coisas incríveis.

O segundo evento foi uma surpresa para muitos. Não foi muito divulgado, e tenho certeza de que cada detalhe de seu anúncio não foi planejado há uma década; mas era óbvio que a Microsoft tomou esse caminho há algum tempo, e o .NET core não é a primeira coisa que eles empurraram para o código aberto (Roslyn).

O .NET é de código aberto? Finalmente, o .NET multiplataforma que estávamos esperando.

Então, a humanidade realmente precisava de uma sonda em um cometa? Talvez não, mas é incrível que ele tenha aterrissado! A Microsoft precisou de uma epifania para iniciar o .NET core de código aberto? Sim! Eles precisavam disso há mais de uma década!

O que mudou em uma das maiores empresas de desenvolvimento de software do mundo? O que os fez seguir o caminho da OSI?

De acordo com o .NET Framework Blog, há duas razões para isso:

  • Estabelecer as bases para um .NET multiplataforma
  • Construir e alavancar um ecossistema mais forte

Mas por que a Microsoft iria querer ajudar os desenvolvedores a construir software .NET multiplataforma? Isso vai contra tudo o que eles fizeram antes. A Microsoft vem impulsionando seus próprios sistemas de infraestrutura há anos. Linux e Mac eram inimigos que precisavam ser derrotados, não aliados. O que é isso tudo?

Seja qual for sua motivação real, os desenvolvedores estão tirando o melhor proveito disso. Gostaria de agradecer à Microsoft por dar este passo. Antes tarde do que nunca!

O impacto a longo prazo da tecnologia de código aberto da Microsoft será enorme. O verdadeiro .NET multiplataforma terá um impacto direto no custo de hospedagem, licenciamento e manutenção. Isso simplificará a venda de aplicativos .NET em uma magnitude que nem consigo imaginar.

Passei grande parte da minha carreira profissional escrevendo código. Meu primeiro amor foi Borland Pascal, e “Blue Screen” era algo que eu olhava com muito respeito naquela época. Eu usei uma variedade de plataformas de desenvolvimento e linguagens depois, mas sejamos honestos - desde que a Microsoft lançou o .NET, o Visual Studio é o melhor ambiente de desenvolvimento disponível hoje. É um balcão único para tudo que um único desenvolvedor ou equipe pode precisar para criar qualquer tipo de aplicativo. Ele está intimamente ligado aos ótimos recursos dos compiladores .NET, e cada nova versão do Visual Studio parece um produto que não poderia ser mais estendido; no entanto, a Microsoft consegue surpreender continuamente trazendo novos recursos interessantes a cada nova versão do Visual Studio.

Criar software é um grande processo, fazendo com que todos os desenvolvedores que já conheci se sintam criativos, inventivos e realizados. Mas você já tentou vender ou dar suporte aos processos de vendas? Não tenho certeza se todo vendedor pode dizer o mesmo que desenvolvedores de software para sua parte da equação. Vender para uma empresa de desenvolvimento de software é horrível - você precisa se preocupar com muitos fatores que não têm nada a ver com o desenvolvimento de software real. As pessoas que trabalham no departamento de vendas têm que provar/convencer os clientes que o produto/serviço que está sendo vendido é o melhor que os clientes podem obter pelo preço a ser pago; portanto, cortar o custo de desenvolvimento e manutenção de software é sempre crucial. O mundo real nunca para de calcular valor versus custo.

Por outro lado, iniciar uma empresa nunca foi tão fácil. Se você tem uma boa ideia, não é muito difícil arrecadar fundos para criar “algo” (o último nome para “algo” é Produto Mínimo Viável, mas provavelmente será atualizado no futuro), mostrar “algo” para o mundo, obtenha algum feedback positivo, obtenha mais financiamento e repita até começar a ganhar dinheiro, vender sua empresa ou falhar.

Qual é a maneira mais fácil de reduzir o custo de um produto de software? Bem, o desenvolvimento é algo que você precisa pagar e, na maioria dos casos, você pagará apenas a taxa horária de seus desenvolvedores, independentemente da plataforma de desenvolvimento que eles estejam usando; portanto, a maneira mais simples de reduzir custos é implantar seu software em um ambiente que não exija licenciamento adicional. Este é o lugar onde a Microsoft falhou repetidamente! Poderíamos ter debates acalorados sobre desempenho, qualidade de software, escalabilidade, etc., mas é fácil ver que a plataforma .NET pode lidar facilmente com qualquer desafio técnico lançado a ela. Em muitos casos, acredito que mostra sua superioridade sobre outras plataformas; mas não costumo ganhar debates sobre implantação e licenciamento de infraestrutura.

O mercado começou a afastar os desenvolvedores da plataforma de desenvolvimento da Microsoft e, sim, sou um desses desenvolvedores. Adotei o Node.js como plataforma principal de back-end, apesar de ainda não estar madura o suficiente para lidar com tudo o que preciso. Adoro o WebStorm e aprecio o excelente trabalho que a JetBrains fez nele, mas adorei ainda mais o Visual Studio 2013. Sim, estou ciente de que posso escrever aplicativos Node.js no VS! Mas quando você é empurrado de C# para JavaScript, de SQL Server para PostgreSQL, de IIS para Apache, por que se preocupar em usar PCs baseados em Windows?

Eu era um verdadeiro evangelista da Microsoft, mesmo antes do .NET ser lançado e certamente antes do .NET ser de código aberto e multiplataforma. Mas tudo isso morreu quando eles tiraram (dedo) de nós no Skype. Sempre adorei fazer aplicativos para plataformas Windows. Passei muito tempo aprendendo dicas e truques do ofício, e acredito que fui muito bom nisso. No entanto, o mercado de desenvolvimento de software mudou muito na última década. As startups estão florescendo em todos os lugares e cada novo cliente está procurando a solução mais econômica. A Microsoft não conseguiu acompanhar o ritmo desse novo mercado, e eu sou apenas um dos muitos desenvolvedores da Microsoft que substituíram seu laptop Windows por um MacBook. A Microsoft finalmente percebeu que nos dar a opção de implantar nossos aplicativos em plataformas de código aberto manterá enormes Comunidades de Desenvolvimento da Microsoft usando suas ferramentas e, eventualmente, atrairá mais clientes também.

A Microsoft deu um pequeno passo em direção a uma grande mudança, e eles têm as melhores ferramentas de desenvolvimento e uma grande comunidade de desenvolvimento. O que aconteceria se recebêssemos um sistema operacional de código aberto em cima de um ótimo IDE? “Nem eu me atrevo a calcular as probabilidades”.