.NET Framework
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Disambig_grey.svg/20px-Disambig_grey.svg.png)
.NET Framework | |||||||
---|---|---|---|---|---|---|---|
![]() | |||||||
Desenvolvedor | Microsoft | ||||||
Plataforma | IA-32, x86-64, e ARM | ||||||
Lançamento | 13 de fevereiro de 2002 (22 anos) | ||||||
Versão estável | 4.8.1 (9 de agosto de 2022; há 2 anos[1]) | ||||||
Sistema operacional | Windows 98 ou posterior, Windows NT 4.0 ou posterior | ||||||
Gênero(s) | Framework | ||||||
Licença | Várias | ||||||
Estado do desenvolvimento | Descontinuado | ||||||
Página oficial | dotnet | ||||||
Cronologia | |||||||
|
O .NET Framework (pronuncia-se: dótnét) é 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 de dois componentes principais, é 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.
Primeiramente, só era disponível no Windows, como uma plataforma de código fechado, mas o código fonte foi liberado. Em 2014, o desenvolvimento começou no .NET Core, uma plataforma aberta do .NET que poderia rodar em Linux e MacOS. Existem várias variações da plataforma, como .NET Compact Framework, .NET Micro Framework e Silverlight. 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]
Arquitetura
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
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
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 do Windows 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 no ASP.NET para Web Forms
- Controle/Redução de ViewState
- A utilização do padrão MVC
Ver também
Referências
- ↑ «Download .NET Framework 4.8 Offline Installer». Microsoft. Consultado em 15 de agosto de 2019. Cópia arquivada em 15 de agosto de 2019
- ↑ «Microsoft .NET e .NET Core». Microsoft. Consultado em 8 de junho de 2021
- ↑ «Perguntas frequentes sobre ciclo de vida ‒ .NET Framework». Microsoft. 18 de julho de 2016. Consultado em 8 de junho de 2021
- ↑ «.NET Framework Versions and Dependencies». MSDN. Microsoft. Consultado em 17 de janeiro de 2014
- ↑ 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
- ↑ 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.
- ↑ «.NET Framework Developer Center – Frequently Asked Questions». Consultado em 27 de novembro de 2016. Cópia arquivada em 24 de julho de 2012
- ↑ «What's New in Visual Studio 2005». MSDN. Microsoft. Consultado em 1 de setembro de 2014
- ↑ «What's New in Windows Server 2003 R2». TechNet. Microsoft. 22 de agosto de 2005. Consultado em 5 de janeiro de 2015
- ↑ Chinnathambi, Kirupa (4 de dezembro de 2006). «Expression Blend -- What Is That?». Expression Blend and Design. Microsoft. Consultado em 1 de setembro de 2014
- ↑ 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
- ↑ «What's New in Visual Studio 2010». MSDN. Microsoft. Consultado em 1 de setembro de 2014
- ↑ «What's New in Visual Studio 2012». MSDN. Microsoft. Consultado em 1 de setembro de 2014
- ↑ «What's New in Visual Studio 2013». MSDN. Microsoft. Consultado em 1 de setembro de 2014
- ↑ Somasegar, S (29 de junho de 2015). «Save the Date: Visual Studio 2015 RTM on July 20th». Somasegar’s blog. Microsoft
- ↑ «.NET Framework 4.6.1 is now available!». .NET Blog. Microsoft. 30 de novembro de 2015
- ↑ Haffner, Stacey (3 de agosto de 2016). «Announcing .NET Framework 4.6.2». .NET Blog. Microsoft
- ↑ Haffner, Stacey (5 de abril de 2017). «Announcing the .NET Framework 4.7» (em inglês). Consultado em 11 de setembro de 2017
- ↑ «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
- Sítio oficial