Saltar para o conteúdo

.NET Framework

Origem: Wikipédia, a enciclopédia livre.
 Nota: Para outros significados, veja .net (desambiguação).
Microsoft .NET
DesenvolvedorMicrosoft
PlataformaWindows, Linux, MacOS
Lançamento13 de Fevereiro de 2002
Versão estável4.6.2 (02 de agosto de 2016)
Idioma(s)Variados
Sistema operacionalWindows XP, Vista, 7, 8 e 10, Linux, MacOS
LicençaMIT e Apache
Estado do desenvolvimentoAtivo
Página oficialhttp://www.microsoft.com/net (em inglês e em português)., acessado pela última vez há 440 semanas e 6 dias

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

.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 January 2014  Verifique data em: |acessodata= (ajuda)
  2. Stebner, Aaron (14 March 2007). «Mailbag: What version of the .NET Framework is included in what version of the OS?». Aaron Stebner's WebLog. Microsoft  Verifique data em: |data= (ajuda)
  3. a b «What's New in Visual Studio .NET 2003». MSDN. Microsoft. Consultado em 1 September 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.  Verifique data em: |acessodata= (ajuda)
  4. «.NET Framework Developer Center – Frequently Asked Questions». Cópia arquivada em July 24, 2012  Verifique data em: |arquivodata= (ajuda)
  5. «What's New in Visual Studio 2005». MSDN. Microsoft. Consultado em 1 September 2014  Verifique data em: |acessodata= (ajuda)
  6. «What's New in Windows Server 2003 R2». TechNet. Microsoft. 22 August 2005. Consultado em 5 January 2015  Verifique data em: |acessodata=, |data= (ajuda)
  7. Chinnathambi, Kirupa (4 December 2006). «Expression Blend -- What Is That?». Expression Blend and Design. Microsoft. Consultado em 1 September 2014  Verifique data em: |acessodata=, |data= (ajuda)
  8. Guthrie, Scott (19 November 2007). «Visual Studio 2008 and .NET 3.5 Released». Scott Gu's Blog. Microsoft. Consultado em 1 September 2014  Verifique data em: |acessodata=, |data= (ajuda)
  9. «What's New in Visual Studio 2010». MSDN. Microsoft. Consultado em 1 September 2014  Verifique data em: |acessodata= (ajuda)
  10. «What's New in Visual Studio 2012». MSDN. Microsoft. Consultado em 1 September 2014  Verifique data em: |acessodata= (ajuda)
  11. «What's New in Visual Studio 2013». MSDN. Microsoft. Consultado em 1 September 2014  Verifique data em: |acessodata= (ajuda)
  12. Somasegar, S (29 June 2015). «Save the Date: Visual Studio 2015 RTM on July 20th». Somasegar’s blog. Microsoft  Verifique data em: |data= (ajuda)
  13. «.NET Framework 4.6.1 is now available!». .NET Blog. Microsoft. 30 November 2015  Verifique data em: |data= (ajuda)
  14. Haffner, Stacey (3 August 2016). «Announcing .NET Framework 4.6.2». .NET Blog. Microsoft  Verifique data em: |data= (ajuda)

Ver também

Ligações externas