Microsoft NET - 5 motivos para aprender ainda em 2021
Conheça o Microsoft NET, um framework multiplataforma, open source e que foi eleito como mais amado pela comunidade no Stack Overflow por dois anos consecutivos.
Índice
- O que é o Microsoft NET
- Microsoft NET ao longo dos anos
- Em quais plataformas o Microsoft NET roda?
- Microsoft NET em números
- Performance do Microsoft NET 5
- Adoção do Microsoft NET 5
- 5 motivos para utilizar o Microsoft NET
- JavaScript e Python
- Pontos Adicionais
O que é o Microsoft NET
O .NET (Microsoft NET) é um conjunto de bibliotecas, também conhecido como Framework, que é a base para outras tecnologias da Microsoft como o ASP.NET por exemplo.
Neste artigo vamos comparar o .NET (Microsoft .NET), C#, ASP.NET, Blazor, Xamarin e MAUI com diversas outras tecnologias com intuito de exaltar as vantagens do Microsoft NET perante outros frameworks e não desmerecê-los.
Apoiamos fortemente o aprendizado de diversos frameworks e linguagens e gostamos muito de outras tecnologias como Node e Python, Nest, React e Flutter. Então abra sua mente e entenda que algumas críticas aqui serão apenas para intuito de comparação.
Microsoft NET ao longo dos anos
Desde 2015 a Microsoft tornou o .NET (Microsoft NET) e várias outras tecnologias Open Source e Multi-Plataforma, o que significa que além de código aberto, já podemos rodar o .NET (Microsoft NET) no Windows, Mac e Linux há um bom tempo.
Inclusive, a maior parte das máquinas que rodam no Microsoft Azure (Cloud da Microsoft) são Linux. Todos nós já entendemos sobre a supremacia do Linux nos servidores, não adianta brigar com isto.
Então se você teve contato com .NET (Microsoft NET) há alguns anos atrás, está na hora de se atualizar pois a plataforma evoluiu muito.
A Microsoft entendeu que para competir no mercado tão competitivo de Cloud, precisa-se atender diferentes demandas, diferentes tecnologias e sistemas, logo, não fazia mais sentido o .NET (Microsoft NET), uma tecnologia da Microsoft, rodar apenas em Windows.
Em quais plataformas o Microsoft NET roda?
Estamos rumando a versão 6 do .NET, prevista para ser lançada em Novembro de 2021, que marcará a unificação dos Frameworks e chegada do .NET (Microsoft NET) para ainda mais plataformas.
Se você não conhece a história do .NET (Microsoft NET), este artigo pode te ajudar a entender melhor.
Atualmente, se você começar a estudar .NET (Microsoft NET) e C#, ou se já conhece e quer usar em seus projetos, você poderá rodar sua aplicação nos seguintes ambientes:
- Desktop
- Web
- Cloud
- Mobile
- Gaming
- IoT
- IA
Mas o que isto significa? Significa que com a mesma linguagem e o mesmo ecossistema, você consegue entregar praticamente tudo.
Usando a mesma linguagem e o mesmo ecossistema, fica muito mais simples padronizar códigos e projetos da sua empresa, bem como compartilhar código (Reuso de código) entre diversos projetos.
A contratação de profissionais, um dos maiores desafios do mercado no momento, também simplifica, já que podemos buscar pelos famosos Desenvolvedor(a) .NET, ao invés de procurar por um profissional que conhece diferentes tecnologias.
Microsoft NET em números
Legal estas mudanças, mas vamos falar de números, afinal é isto que importa e isto que deveríamos considerar. Isto diferencia HYPE de Mundo Real.
Mais de 5 milhões
Este é o número de desenvolvedores(as) .NET (Microsoft NET) computados pela Microsoft antes do último Build (Evento da Microsoft para desenvolvedores) que aconteceu em Abril de 2021.
Mais amado no Stack Overflow
Todo ano o Stack Overflow realiza uma pesquisa com milhões de desenvolvedores(as) e durante os anos de 2019 e 2020 o .NET (Microsoft NET) foi o PRIMEIRO da lista de Frameworks MAIS AMADOS na pesquisa.
Isto significa que não só quem está começando com .NET (Microsoft NET) está tendo uma ótima experiência, mas que também quem mudou para .NET não se arrependeu.
Um dos que mais cresce no GitHub
O .NET (Microsoft NET) está entre os 30 projetos Open Source (OSS) que mais crescem no GitHub, ou seja, as pessoas não só aprendem como investem seu tempo para melhorar o .NET.
C# é destaque
Quando falamos de .NET (Microsoft NET), o C# já associado automaticamente, e não é atoa. A linguagem (Minha preferida) vem evoluindo muito e está entre as TOP 5 mais utilizadas no ranking do GitHub.
10x mais rápido que o Node
Isto mesmo, o ASP.NET é DEZ VEZES mais rápido que o Node. Se você duvida, basta baixar os benchmarks e executar para ver os resultados.
Crescimento de 40%
A Microsoft registrou um crescimento de 40% de novos estudantes que estão utilizando .NET (Microsoft NET), um número absurdo, principalmente olhando para uma área que tem um déficit enorme de profissionais.
Performance do Microsoft NET 5
Uma questão levantada com frequência é a performance do .NET (Microsoft NET), cujo muitas pessoas precisam se atualizar.
Se você usou .NET (Microsoft NET) há mais de 5 anos atrás, temos que te contar que quase tudo mudou neste quesito. Eu entendo que antigamente ele era muito mais "travado", mas hoje os números são outros.
Abaixo estão os números em RPS (Requests per second) comparando o .NET (Microsoft NET) com outros Frameworks e tecnologias de mercado.
Tecnologia | RPS (Milhões) |
---|---|
.NET (ASP.NET) | 7.01 |
Java Serverlet | 2.17 |
Node | 0.66 |
Se mudarmos para o gRPC o cenário é ainda mais assustador, deixando o .NET atrás apenas do Rust.
Tecnologia | RPS (Milhões) |
---|---|
Rust | 50.2 |
.NET | 48.3 |
GO | 47.6 |
C++ | 45.2 |
Java | 36.1 |
Adoção do Microsoft NET
Além de performance e compatibilidade com diversas plataformas, o .NET (Microsoft NET) também continua com uma excelente adoção, ou seja, não só novas pessoas passaram a usar .NET (Microsoft NET) como quem estava em .NET (Microsoft NET) se manteve nele.
Nos primeiros seis meses de vida, o .NET Core 3.1 teve mais de 3 milhões de downloads, e o .NET 5 neste mesmo período teve 3.6 milhões de downloads, números assustadores principalmente pelo período analisado.
Isto nos dá base para visualizar que muitas empresas estão aderindo as novas versões do .NET (Microsoft NET), estão atualizando seus produtos e seus times.
Inclusive a própria Microsoft tem ferramentas que auxiliam nestas migrações como o .NET Portability Analyser e o .NET Upgrade Assistant.
Motivos para utilizar o Microsoft NET?
Em resumo, as principais motivações para uso do .NET são:
1. Flexibilidade
O .NET roda em diversas plataformas, pode ser "deployado" (Publicado) em diversos ambientes.
2. Performance
A maioria dos recursos de infraestrutura que temos hoje cobram por uso (Pay as you go), o que significa que quanto mais rápido respondemos uma requisição (Requests per second), mais rápido liberamos recursos de máquina e mais pessoas atendemos.
Mais performance signifca menos custo de infraestrutura para sua empresa.
3. Ambiente moderno
Rodando no Windows, Mac e Linux, com suporte a CLI e integração com ferramentas externas, o .NET oferece um ecossistema moderno e alinhado com diversas outras tecnologias de mercado.
Trabalha com Windows e inveja os terminais do Linux e Mac? Sem problemas, confira nossos artigos sobre [Windows Termina] (https://balta.io/blog/windows-terminal) e WSL
4. Open Source
Não só o .NET tem seu código aberto como o ASP.NET, Entity Framework e diversas outras tecnologias, isto significa custo zero para sua empresa.
Mas não paramos por aí, o Visual Studio Code, um editor de código Open Source da Microsoft também dá suporte a todo este ecossistema, ou seja, você pode aprender sem custo algum.
5. Comunidade
O .NET (Microsoft NET) tem uma das maiores comunidades de desenvolvedores(as) do mundo. No mercado desde 2000, ele já é maduro e reune pessoas de todo o mundo, o que significa que muito provavelmente você estará amparado por outras pessoas com os mesmos desafios que os sess.
JavaScript e Python
O crescimento de novas pessoas estudando .NET (Microsoft NET) se deve a evolução do ecossistema (Framework, IDE, ambiente) e da linguagem C# nos últimos anos.
Algo que ouço com frequência é o quão simples JavaScript e Python são para quem está começando, porém muitas pessoas ainda não tem a visão do novo C#.
Um exemplo simples e direto, que constantemente vira meme é a complexidade de um simples Hello World em diferentes linguagens.
Hello World em JavaScript
console.log('Hello world')
Hello World em Python
print('Hello world')
Porém quando cheamos no exemplo do C#, o que vejo é algo errado e ultrapassado, como isto:
Hello World em C# (MODO ERRADO)
using System;
public class Program
{
public void Main(args[])
{
Console.WriteLine("Hello world");
}
}
Desde a versão 9 o C# permite trabalharmos com Top Level Programs que dispensam o uso de toda esta estrutura. É quase como se o código fosse interpretado (Mas é compilado).
Hello World em C# (MODO CORRETO)
System.Console.WriteLine("Hello world");
Mas nem só de Hello world vive o mundo, correto? E você deve estar se perguntando: "E exemplos mais complexos?". Pois é, há um tempo atrás eu postei no Twitter a seguinte imagem:
O texto que escrevi foi "Feliz em ver que minha API cabe em um print", isto mesmo, este print contém uma API que realiza a criação e leitura de uma lista de tarefas com ASP.NET (Minimal APIs) e Entity Framework Core com banco em memória.
O C#/ASP.NET é tão simples quanto o JavaScript e Python, só talvez não seja tão hypado quanto.
Inclusive, dá para ser Fullstack com C# também, já que ele entrega até mais plataformas que o Node/React e deixa eu te contar uma coisa legal: Você só precisa aprender .NET!
Pontos adicionais
Ainda tem muita coisa que não cobri neste artigo mas pretendo escrever sobre futuramente, então se quiser complementar seus argumentos com os pontos abaixo, ficarão ainda melhor.
- Novidades do C# 10
- Performance do EF Core
- Blazor e MAUI
- Curva de aprendizado