Saltar para o conteúdo

.NET Framework

Origem: Wikipédia, a enciclopédia livre.
 Nota: Para outros significados, veja .net (desambiguação).
Microsoft .NET
Desenvolvedor Microsoft
Plataforma Windows, Linux, MacOS
Lançamento 13 de Fevereiro de 2002
Versão estável 4.7.2 (30 de Abril de 2018)
Idioma(s) Variados
Sistema operacional Windows XP, Vista, 7, 8 e 10, Linux, MacOS
Licença MIT e Apache
Estado do desenvolvimento Ativo
Página oficial http://www.microsoft.com/net (em inglês e em português)., acessado pela última vez há 420 semanas e 1 dia

O .NET Framework (pronuncia-se: dotNet) é uma iniciativa da empresa Microsoft, 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 um framework de 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 de hardware, através de uma máquina virtual de aplicação.

O .NET Framework consiste basicamente em dois componentes principais, ou seja, ela é executada sobre uma Common 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 oferece APIs para 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.

Originalmente só funcionava no Windows, agora também funciona no Linux e no MacOS através do .NET Core. Originalmente era proprietário, mas seus fontes foram liberados. O .NET Core já nasceu como um projeto 100% aberto, contando com contribuições da comunidade através da .NET Foundation.

Existem diversas variações, tais como .NET Compact Framework, .NET Micro Framework e Silverlight.

Arquitetura .NET

Esta CLR é capaz de executar através da Common 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 de Web Services (Aplicações Web) de forma integrada e unificada.

Originalmente a plataforma .NET baseia-se em um dos princípios utilizados na tecnologia Java (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, o código fonte gerado 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 arquivo assembly, 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 compilador JIT, de acordo com a utilização do programa, por exemplo: Temos um Web Site desenvolvido em ASP.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 a CIL gera uma possibilidade pouco desejada entre os criadores de software que é 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 de softwares produzidos 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 o assembly original.

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.

Versões

Resumo histórico de versões do .NET Framework[1][2]
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[3] XP[a]
1.1 1.1 2003-04-24 Visual Studio .NET 2003[3] 2003 1.0[4]
2.0 2.0 2005-11-07 Visual Studio 2005[5] 2003, 2003 R2,[6] 2008 SP2, 2008 R2 SP1
3.0 2.0 2006-11-06 Expression Blend[7][b] Vista 2008 SP2, 2008 R2 SP1 2.0
3.5 2.0 2007-11-19 Visual Studio 2008[8] 7, 8[c], 8.1[c], 10[c] 2008 R2 SP1 2.0, 3.0
4.0 4 2010-04-12 Visual Studio 2010[9]
4.5 4 2012-08-15 Visual Studio 2012[10] 8 2012 4.0
4.5.1 4 2013-10-17 Visual Studio 2013[11] 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[12] 10 4.0–4.5.2
4.6.1 4 2015-11-30[13] Visual Studio 2015 Update 1 10 v1511 4.0–4.6
4.6.2 4 2016-08-02[14] 10 v1607 4.0–4.6.1
4.7 4 2017-04-05[15] Visual Studio 2017 10 v1703 N/A 4.0-4.6.2

.NET Framework 4

O .NET Framework 4 veio para melhorar, 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 do Windows 7

Se você é um desenvolvedor 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 no ASP.NET para Web Forms
  • Controle/Redução de ViewState
  • A utilização do padrão MVC

A maneira mais simples de se ter o .NET Framework 4 instalado é utilizando o Web Platform Installer da Microsoft, também chamado de Web PI.

Referências

  1. «.NET Framework Versions and Dependencies». MSDN. Microsoft. Consultado em 17 de janeiro de 2014 
  2. 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 
  3. a b «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. 
  4. «.NET Framework Developer Center – Frequently Asked Questions». Consultado em 27 de novembro de 2016. Cópia arquivada em 24 de julho de 2012 
  5. «What's New in Visual Studio 2005». MSDN. Microsoft. Consultado em 1 de setembro de 2014 
  6. «What's New in Windows Server 2003 R2». TechNet. Microsoft. 22 de agosto de 2005. Consultado em 5 de janeiro de 2015 
  7. Chinnathambi, Kirupa (4 de dezembro de 2006). «Expression Blend -- What Is That?». Expression Blend and Design. Microsoft. Consultado em 1 de setembro de 2014 
  8. 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 
  9. «What's New in Visual Studio 2010». MSDN. Microsoft. Consultado em 1 de setembro de 2014 
  10. «What's New in Visual Studio 2012». MSDN. Microsoft. Consultado em 1 de setembro de 2014 
  11. «What's New in Visual Studio 2013». MSDN. Microsoft. Consultado em 1 de setembro de 2014 
  12. Somasegar, S (29 de junho de 2015). «Save the Date: Visual Studio 2015 RTM on July 20th». Somasegar’s blog. Microsoft 
  13. «.NET Framework 4.6.1 is now available!». .NET Blog. Microsoft. 30 de novembro de 2015 
  14. Haffner, Stacey (3 de agosto de 2016). «Announcing .NET Framework 4.6.2». .NET Blog. Microsoft 
  15. Haffner, Stacey (5 de abril de 2017). «Announcing the .NET Framework 4.7» (em inglês). Consultado em 11 de setembro de 2017 

Ver também

Ligações externas