.NET: desvendando a plataforma

Neste artigo você vai ver:

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.

Fluxograma sobre a integração de plataformas, em ordem estão símbolos que representam essas plataformas: desktop, web, cloud, mobile, games, IoT, AI. Abaixo de todas está escrito C#.
 C# está integrada a todas as plataformas

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.

Imagem que mostra a comparação de desempenho entre três plataformas ilustradas como três círculos proporcionais aos seus desempenhos, dentro de cada círculo estão os dados provenientes de testes oficiais disponíveis no TechEmpower Round 21. No primeiro círculo está Java Servlet com 2.20M requests/sec; em seguida, está .NET com 7.02M requests/sec; e por último Node.js com 0.60 requests/sec.
Comparação de desempenho entre plataformas, neste caso, .NET se sai melhor.

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

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:

Banner com a identidade visual da Zup, nele está escrito Assine nossa Newsletter, os melhores conteúdos sobre carreira e tecnologia no seu e-mail. No final, está um botão com "assinar agora".

Esperamos que tenha gostado do conteúdo. Qualquer dúvida ou comentário é só enviar aqui!

Referências

Capa do conteúdo voltado para .NET, onde contém o conceito de desenvolvimento de software. Na imagem, podemos ver uma pessoa sentada em uma mesa, com as mãos em cima do teclado do notebook. Na tela, um código.
avatarblog
Conteúdo
Equipe de conteúdo da Zup, focada em promover o compartilhamento de conhecimento.

Artigos relacionados

Este site utiliza cookies para proporcionar uma experiência de navegação melhor. Consulte nossa Política de Privacidade.