Muitos produtos e estruturas gratuitos foram criados usando Java como sua tecnologia principal durante o boom do código aberto. Isso se deveu aos recursos multiplataforma fornecidos pela Java Virtual Machine e à sua premissa de gravação única/execução em qualquer lugar. Desde então, a comunidade de código aberto cresceu muito e muitos de seus membros se tornaram não apenas desenvolvedores Java, mas também entusiastas do Java, e agora muitas dessas mesmas pessoas trabalham como tomadores de decisão e gerenciam grandes departamentos e projetos de TI.
Com o passar do tempo, a Microsoft percebeu o quanto estava atrasada no mundo do código aberto e o quanto estava desacreditada na comunidade de código aberto. Isso desestruturou o ecossistema de desenvolvimento da Microsoft e a levou a lançar o .NET Core com as mesmas premissas do Java: escrever uma vez/executar em qualquer lugar (ou quase em qualquer lugar).
Atualmente, o Java e o .NET Core não são as únicas opções de um desenvolvedor. Há muitas tecnologias diferentes para diferentes focos e objetivos. No entanto, a discussão sobre portabilidade permanece para essas duas pilhas. Os aplicativos .NET Core e Java podem ser executados no Linux ou no Windows, e a escolha da pilha certa para sua organização provavelmente exigirá uma análise profunda. Parte dessa análise deve ser o fato de que o Java não é mais gratuito, mas o .NET Core promete ser gratuito por um longo tempo.
Desde a aquisição da Sun Microsystems pela Oracle, muitas coisas mudaram e o compromisso da Sun com o código-fonte aberto parece ter se enfraquecido. Um sinal disso são as recentes alterações de licenciamento que a Oracle introduziu no Java Runtime Environment. Se você for um desenvolvedor ou quiser usar o ambiente de tempo de execução de forma não comercial, não precisará pagar por ele.
Mas, se você for uma empresa ou pretender usar seu software baseado em Java comercialmente, precisará pagar por uma licença. O .NET Core não tem nenhum tipo de custo de licenciamento para seu ambiente de tempo de execução.
Você pode estar pensando nos outros fatores, além do preço, envolvidos nessa decisão. Mas eu o aconselho a não desconsiderar a importância do preço. Embora uma grande empresa possa arcar com todas as licenças necessárias para uma implantação baseada em Java, o que lhe dá a capacidade de aproveitar a robustez e a maturidade da plataforma Java, esse geralmente não é o caso de startups ou pequenas empresas. Os aprimoramentos de desempenho do .NET Core (lembre-se de que ele é uma reescrita completa de muitos componentes do .NET), a portabilidade e o custo zero oferecem uma ótima solução para organizações preocupadas com o orçamento.
Espere um pouco! Existem ambientes de tempo de execução Java gratuitos, como o OpenJDK, que poderiam ser usados! Sim, tecnicamente isso é verdade, mas sejamos honestos, que empresa substituiria uma plataforma madura e com suporte total como o JRE da Oracle por um projeto de código aberto?
Esta discussão não tem o objetivo de convencer ninguém a mudar para o .NET Core. Estou apenas aconselhando os tomadores de decisão a considerar a plataforma. Além do preço, acredito que a plataforma tem muitos benefícios excelentes e acabará surpreendendo até mesmo os entusiastas do Java com seus recursos.
Por outro lado, se você for um desenvolvedor Java experiente ou se sua empresa tiver grandes soluções baseadas em Java que tornem o JRE da Oracle muito atraente para ser deixado de lado, minha sugestão é planejar e orçar os custos no início. De modo geral, não existe uma solução única para esse tipo de decisão. Veja o que você quer aproveitar e decida quanto está disposto a pagar.
Clique para saber mais ou fazer download do .NET Core
Clique para saber mais ou fazer o download do Java SE
Sobre o autor: Luis Canizares é um desenvolvedor sênior de .NET com 15 anos de experiência em diversas funções de desenvolvimento, incluindo desenvolvedor de software, líder de equipe, arquiteto e líder de projeto. Ele é consultor da Number8 há dois anos.
Forneça suas informações para conversar com um executivo de contas da number8 sobre suas necessidades de desenvolvimento hoje mesmo e sinta como é ser ouvido antes de ser vendida uma solução.
Permita-nos ajudá-lo a agregar profissionais altamente qualificados, desenvolvedores versáteis para a sua equipe.