Lançado há mais de 20 anos no mercado, o .NET ou dotNet é uma multiplataforma de desenvolvimento de software, onde devs são capazes de realizar a construção de diversos tipos de aplicações, utilizando linguagens de programação variadas.
Foi projetada pela Microsoft com o objetivo de ser uma plataforma de desenvolvimento e execução de aplicações, web, mobile, desktop, games, entre outras. Hoje, se apresenta como uma plataforma open source, gratuita e pode ser executada em qualquer dispositivo que possua seu framework instalado.
A criação dos aplicativos ou bibliotecas pode ser feita utilizando uma IDE (Integrated Development Environment) como Visual Studio, Visual Studio Code ou sua interface de linha de comando (CLI). Vamos conhecer mais sobre essa multiplataforma neste artigo!
Ambiente de execução
Os ambientes onde são executados .NET são:
- O Common Language Runtime (CLR – Ambiente de execução de linguagem comum) é o ambiente de execução, que compila e executa programas do tipo em diferentes sistemas operacionais.
- A Common Intermediate Language (CIL) é uma linguagem de programação de baixo nível do ambiente de programação da Microsoft. O código de mais alto nível do ambiente .NET é compilado em CIL, que é compatível com várias plataformas e qualquer sistema operacional pode processá-la.
A compatibilidade entre plataformas refere-se à capacidade de uma aplicação ser executada em vários sistemas operacionais diferentes com modificações mínimas. Por exemplo, uma aplicação em C# pode ser executada no Windows, Linux ou MacOS, sem nenhuma modificação de código. Essa aplicação é chamada de aplicação multiplataforma.
Ambientes de desenvolvimento WEB do .NET
O .NET oferece dentro do seu ecossistema ambientes de desenvolvimento web, que permitem a construção de sites de forma dinâmica.
- ASP.NET: é uma plataforma de desenvolvimento web onde sua principal característica é o desenvolvimento de sites e interfaces WEBs. Possui integração com HTML, CSS e JavaScript, e utiliza comandos e políticas do HTTP para definir uma comunicação com o servidor.
- ASP.NET Core: é uma nova versão do ASP.NET, com um código aberto, gratuito, que pode ser executado em diferentes sistemas operacionais, como Mac, Windows e Linux. Ele foi lançado originalmente como ASP.NET 5, mas depois foi renomeado para ASP.NET Core.
Linguagem de programação da plataforma .NET
As linguagens dentro da plataforma, são o C#, o F# e o VB.net. Para ilustrar melhor a diferença de cada linguagem, iremos criar um código que imprime a sequência de fibonacci.
C#
C# é a linguagem mais popular dessa plataforma de desenvolvimento. No início, seu desenvolvimento chama-se COOL. Inclusive, pode ler C Sharp. O C# é uma linguagem de programação orientada a objetos, do tipo segura, baseada no C + +, Pascal e Java, e suporta encapsulamento, herança e polimorfismo.
É uma linguagem extremamente segura, versátil, simples e possibilita o reaproveitamento de códigos. Possui uma comunidade bastante participativa e conta com melhorias constantes nas atualizações de suas versões. Atualmente está disponível na versão 8.0.
Vale a pena aprender o C#?
O C# é uma linguagem de programação orientada a objetos que está integrada a todas as plataformas, incluindo desktop, online, tecnologias futuras, jogos e serviços. Então, a resposta é SIM! Com certeza você deve estudar C# agora mesmo, pois é uma linguagem de fácil aprendizagem que oferecerá a você um grande leque de possibilidades no mercado de trabalho, com o objetivo de conquistar lugar de destaque no mercado.
using System;
class MainClass
{
public static void Main(string[] args)
{
int numeroAnterior = 0;
int numeroAtual = 1;
int fibonacci;
for (int i = 0; i < 100; i++)
{
fibonacci = numeroAnterior + numeroAtual;
Console.WriteLine(fibonacci);
numeroAnterior = numeroAtual;
numeroAtual = fibonacci;
}
}
}
F#
É uma linguagem de alto nível que consegue se comunicar com outras linguagens, tem como parte sólida da sua linguagem de programação orientada a objetos, funcional e imperativa.
// recursive
let rec fiboRec =
function
| 0L -> 0L
| 1L -> 1L
| n -> fiboRec (n-1L) + fiboRec (n-2L)
#time
for i in 0L..40L do
printfn "fiboRec of %d => %d" i (fiboRec i)
#time
// iterative
let fiboIterative1 (n:bigint) =
Seq.init (int n) id
|> Seq.fold (fun (n1,n2) items -> (n1+n2,n1)) (0L,1L)
|> fst
#time
for i in 0I..180I do
printfn "fiboIterative1 of %A => %A" i (fiboIterative1 i)
#time
fiboIterative1 2200I
// tail recursive
let fiboTailRec n =
let rec loop (n1,n2) i =
if i < n
then loop (n1+n2,n1) (i+1I)
else n1
loop (0I,1I) 0I
#time
for i in 0I..180I do
printfn "fiboTailRec of %A => %A" i (fiboTailRec i)
#time
fiboTailRec 22I
Visual Basic
Uma linguagem de programação bem simples orientada a objetos e fortemente tipada e dirigida por eventos.
Public Shared Function CalculaFibonacciSemRecursao(ByVal limite As Double) As Double()
Dim resultado(limite - 1) As Double
Dim antUm, antDois, total As Double
antUm = 1
antDois = 1
For i = 0 To limite - 1
If i = 0 Then
total = 1
resultado(i) = total
ElseIf i = 1 Then
total = 1
resultado(i) = total
ElseIf i >= 2 Then
total = antUm + antDois
antDois = antUm
antUm = total
resultado(i) = total
End If
Next
Return resultado
End Function
Principais diferenças entre .NET Framework e .NET
Resumidamente, o .NET é gratuito e de código aberto e de uso geral para criar aplicativos de software baseados em nuvem no Windows, Linux e macOS. Enquanto o .NET Framework é uma plataforma de desenvolvimento de software para criar e executar aplicativos Windows. Além disso, possui um conjunto de ferramentas de devs, linguagens de programação e bibliotecas usadas para desenvolver aplicativos de desktop e web.
A principal diferença entre eles é que o .NET Framework é uma plataforma para aplicativos no Windows, enquanto o .NET é a versão mais recente do .NET Framework, que é uma estrutura de plataforma de desenvolvimento cruzada e de código aberto otimizada para as necessidades de aplicativos modernos e fluxos de trabalho de pessoas desenvolvedoras.
Quer assistir a uma live que mostra “Como construir Web APIs usando .NET em um ambiente Linux”? Então assista essa edição especial do Zup Insights:
Desempenho do .NET comparado com outras plataformas de desenvolvimento
De acordo com a Microsoft e o TechEmpower, que compara estruturas de aplicativos da Web com tarefas como serialização JSON, acesso a banco de dados e renderização de modelo do lado do servidor, o .NET executa mais rápido do que qualquer outra estrutura popular.
Termos e acrônimos
- API: Interface Programming Interface, uma forma de integração entre sistemas de diferentes linguagens, de forma segura.
- Asp. Net: consiste em uma estrutura web para a criação de aplicações web, utilizando Javascript, HTML e CSS. Criada na versão do NET Framework, hoje foi reformulada na versão ASP.Net Core.
- CLR: é o RUNTIME do .NET, cuida de alocação de memória, uma máquina virtual.
- IL: linguagem intermediária, linguagens de alto nível são compiladas independentes do hardware.
- SDK .NET: conjunto de programas e bibliotecas que serão o suporte da pessoa desenvolvedora na criação dos seus aplicativos.
- IOT: a Internet das Coisas (IoT) consiste em uma rede de objetos físicos incorporados a várias tecnologias (sensores, software e etc.) tendo como objetivo a troca e a conexão entre dispositivos utilizando como meio de transmissão a internet. Podendo ser grandes maquinas industriais ou pequenos objetos domésticos e de escritórios, capazes de se comunicar com a internet.
Sugestões de cursos e outros conteúdos
- ADO NET – A base do .NET com banco de dados
- Artigos .NET
- C#.NET Referência Fundamental da Linguagem
- Os melhores artigos sobre .NET: do básico ao avançado
- Programação Web com Microsoft Asp. NET do básico ao avançado
Conclusão
Nesse artigo, falamos um pouco da história, das principais características do .NET e de algumas de suas aplicações. Lembrando que é open source!
Também acompanhamos que o .NET é uma plataforma de mais de 20 anos de mercado, extremamente sólida e eficiente, utilizada por milhões de devs. Por último, indicamos cursos e artigos que vão ajudar na aprendizagem e nos primeiros passos no desenvolvimento de aplicações utilizando-o.
Quer ficar por dentro dos assuntos mais interessantes da tecnologia? Então assine nossa newsletter:
Esperamos que tenha gostado do conteúdo. Qualquer dúvida ou comentário é só enviar aqui!