Saltar para o conteúdo

.NET Framework

Origem: Wikipédia, a enciclopédia livre.
Nota:Para outros significados, veja.net (desambiguação).
.NET Framework
Logótipo
.NET Framework
Desenvolvedor Microsoft
Plataforma IA-32,x86-64,eARM
Lançamento 13 de fevereirode2002(22 anos)
Versãoestável 4.8.1(9 de agosto de 2022;há 2 anos[1])
Sistema operacional Windows 98ou posterior,Windows NT 4.0ou posterior
Gênero(s) Framework
Licença Várias
Estado do desenvolvimento Descontinuado
Página oficial dotnet.microsoft.com
Cronologia
.NET

O.NET Framework(pronuncia-se: dótnét) é uma iniciativa da empresaMicrosoft,que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações. Todo e qualquer código gerado para.NET pode ser executado em qualquer dispositivo que possua umframeworkde tal plataforma. Com ideia semelhante àplataforma Java,o programador deixa de escrever código para um sistema ou dispositivo específico, e passa a escrever para a plataforma.NET. Aplicações escritas para ele funcionam em um ambiente de software controlado, em oposição a um ambiente dehardware,através de uma máquina virtual de aplicação.

O.NET Framework consiste de dois componentes principais, é executada sobre umaCommon Language Runtime- CLR (Ambiente de Execução Independente de Linguagem) interagindo com um Framework Class Library - FCL (Conjunto de Bibliotecas Unificadas). Ele permite executar diversas linguagens permitindo grande interoperabilidade entre elas. O CLR fornece gerenciamento de memória, controle de exceção, interoperabilidade, manipulação de processamento paralelo e concorrente, reflexão, segurança, serviços de compilação para a arquitetura específica, entre outros. A FCL ofereceAPIspara UI de console, acesso a dados, conectividade com banco de dados, redes, web, criptografia, acesso aos serviços do sistema operacional, estruturas de dados e algoritmos diversos, facilidades para a linguagem e muito mais.

Primeiramente, só era disponível noWindows,como uma plataforma de código fechado, mas o código fonte foi liberado. Em 2014, o desenvolvimento começou no.NET Core,uma plataformaabertado.NET que poderia rodar emLinuxeMacOS.Existem várias variações da plataforma, como.NET Compact Framework,.NET Micro Framework eSilverlight.Em novembro de 2020, o.NET Core foi renomeado para simplesmente.NET, porém o.NET[2]Framework terá suporte permanente no Windows 10.[3]

Esta CLR é capaz de executar através daCommon Language Infrastructure,uma grande quantidade de linguagens de programação, interagindo entre si como se fossem uma única linguagem.

Algumas linguagens são:

Esta plataforma permite a execução, construção e desenvolvimento deWeb Services(Aplicações Web) de forma integrada e unificada.

Originalmente a plataforma.NET baseia-se em um dos princípios utilizados na tecnologiaJava(Just In Time Compiler - JIT), os programas desenvolvidos para ela são compilados duas vezes, uma na distribuição (gerando um código que é conhecido como "bytecodes") e outra na execução.

Um programa é escrito em qualquer das linguagens de programação disponíveis para a plataforma, ocódigo-fontegerado pelo programador é então compilado pela linguagem escolhida gerando um código intermediário em uma linguagem chamada CIL (Common Intermediate Language).

Este novo código fonte gera um arquivoassembly,de acordo com o tipo de projeto:

  • EXE- Arquivos Executáveis, Programas
  • DLL- Biblioteca de Funções
  • ASPX- Página Web
  • ASMX-Web Service
    Diagrama de funcionamento da infraestrutura do.Net

No momento da execução do programa ele é novamente compilado, desta vez pelo compiladorJIT,de acordo com a utilização do programa, por exemplo: Temos um Web Site desenvolvido emASP.NET,ao entrar pela primeira vez em uma página o JIT irá compila-la, nas outras vezes que algum outro usuário acessar esta página, ele usará esta compilação.

Também é possível, através de ferramentas específicas, "pré-compilar" o código para que não se tenha o custo da compilação JIT durante a execução.

O fato desta arquitetura utilizar aCILgera uma possibilidade pouco desejada entre os criadores desoftwareque é a de fazer a "engenharia reversa",ou seja, a partir de um código compilado, recuperar o código original. Isto não é uma ideia agradável para as empresas que sobrevivem da venda desoftwaresproduzidos nesta plataforma.

Por causa disso, existem ferramentas que "ofuscam" o código CIL, trocando nomes de variáveis, métodos, interfaces e etc para dificultar o trabalho de quem tentar uma engenharia reversa no mesmo.

Para melhorar a performance de execução é possível gerar um código nativo após instalado com o NGEN (Gerador de Imagem Nativa). Este NGEN é uma ferramenta que melhora o desempenho de aplicativos gerenciados. Ngen.exe cria imagens nativas, que são arquivos que contém o código de máquina específico do processamento compilado e as instala no cache de imagem nativa do computador local. O tempo de execução pode usar imagens nativas do cache em vez de usar o compilador JIT (Just-In-Time) para compilar oassemblyoriginal.

Hoje, através do.NET Native, é possível gerar um executável diretamente para a arquitetura e plataforma que irá rodar obtendo o melhor dela.

Resumo histórico de versões do.NET Framework[4][5]
Versão Versão
CLR
Data
lançamento
Visual Studio Incluso no Substitui
Windows Windows Server
1.0 1.0 2002-02-13 Visual Studio.NET[6] XP[a]
1.1 1.1 2003-04-24 Visual Studio.NET 2003[6] 2003 1.0[7]
2.0 2.0 2005-11-07 Visual Studio 2005[8] 2003,2003 R2,[9]2008 SP2,2008 R2 SP1
3.0 2.0 2006-11-06 Expression Blend[10][b] Vista 2008 SP2,2008 R2 SP1 2.0
3.5 2.0 2007-11-19 Visual Studio 2008[11] 7,8[c],8.1[c],10[c] 2008 R2 SP1 2.0, 3.0
4.0 4 2010-04-12 Visual Studio 2010[12]
4.5 4 2012-08-15 Visual Studio 2012[13] 8 2012 4.0
4.5.1 4 2013-10-17 Visual Studio 2013[14] 8.1 2012 R2 4.0, 4.5
4.5.2 4 2014-05-05 4.0–4.5.1
4.6 4 2015-07-20 Visual Studio 2015[15] 10 4.0–4.5.2
4.6.1 4 2015-11-30[16] Visual Studio 2015 Update 1 10 v1511 4.0–4.6
4.6.2 4 2016-08-02[17] 10 v1607 4.0–4.6.1
4.7 4 2017-04-05[18] Visual Studio 2017 10 v1703 N/A 4.0-4.6.2
4.8 4 2019-04-18[19] Visual Studio 2019 10 v1903 2019, 2016, 2012, 2012 R2, 2008 R2 SP1 4.0-4.7

.NET Framework 4

[editar|editar código-fonte]

O.NET Framework 4 melhorou, alguns pontos do Framework anterior, como por exemplo:

  • Aplicações legadas podem continuar rodando no release anterior do Framework, para não haver problemas de compatibilidade
  • Possui Background Garbage Collection
  • Tem suporte para aplicações Multitouch
  • Consegue fazer uso das novas funcionalidades doWindows 7

Para desenvolvedores web, algumas das melhorias que são encontradas na nova versão do Framework:

  • Pré-carregamento da sua aplicação
  • A utilização de Routing noASP.NETpara Web Forms
  • Controle/Redução de ViewState
  • A utilização do padrãoMVC

Referências

  1. «Download.NET Framework 4.8 Offline Installer».Microsoft.Consultado em 15 de agosto de 2019.Cópia arquivada em 15 de agosto de 2019
  2. «Microsoft.NET e.NET Core».Microsoft.Consultado em 8 de junho de 2021
  3. «Perguntas frequentes sobre ciclo de vida ‒.NET Framework».Microsoft. 18 de julho de 2016.Consultado em 8 de junho de 2021
  4. «.NET Framework Versions and Dependencies».MSDN.Microsoft.Consultado em 17 de janeiro de 2014
  5. Stebner, Aaron (14 de março de 2007).«Mailbag: What version of the.NET Framework is included in what version of the OS?».Aaron Stebner's WebLog.Microsoft
  6. ab«What's New in Visual Studio.NET 2003».MSDN.Microsoft.Consultado em 1 de setembro de 2014.Visual Studio.NET 2002 shipped with the Microsoft.NET Framework SDK version 1.0. Visual Studio.NET 2003 ships with.NET Framework SDK version 1.1.
  7. «.NET Framework Developer Center – Frequently Asked Questions».Consultado em 27 de novembro de 2016.Cópia arquivada em 24 de julho de 2012
  8. «What's New in Visual Studio 2005».MSDN.Microsoft.Consultado em 1 de setembro de 2014
  9. «What's New in Windows Server 2003 R2».TechNet.Microsoft.22 de agosto de 2005.Consultado em 5 de janeiro de 2015
  10. Chinnathambi, Kirupa (4 de dezembro de 2006).«Expression Blend -- What Is That?».Expression Blend and Design.Microsoft.Consultado em 1 de setembro de 2014
  11. Guthrie, Scott(19 de novembro de 2007).«Visual Studio 2008 and.NET 3.5 Released».Scott Gu's Blog.Microsoft.Consultado em 1 de setembro de 2014
  12. «What's New in Visual Studio 2010».MSDN.Microsoft.Consultado em 1 de setembro de 2014
  13. «What's New in Visual Studio 2012».MSDN.Microsoft.Consultado em 1 de setembro de 2014
  14. «What's New in Visual Studio 2013».MSDN.Microsoft.Consultado em 1 de setembro de 2014
  15. Somasegar, S (29 de junho de 2015).«Save the Date: Visual Studio 2015 RTM on July 20th».Somasegar’s blog.Microsoft
  16. «.NET Framework 4.6.1 is now available!»..NET Blog.Microsoft. 30 de novembro de 2015
  17. Haffner, Stacey (3 de agosto de 2016).«Announcing.NET Framework 4.6.2»..NET Blog.Microsoft
  18. Haffner, Stacey (5 de abril de 2017).«Announcing the.NET Framework 4.7»(em inglês).Consultado em 11 de setembro de 2017
  19. «Announcing the.NET Framework 4.8»..NET Blog(em inglês). 18 de abril de 2019.Consultado em 21 de maio de 2019

Ligações externas

[editar|editar código-fonte]