13/09/2011

Framework .Net - A base da tecnologia .Net

Microsoft .NET


Comumente conhecido por .NET Framework - em inglês: 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.


Tecnicamente falando


A plataforma .NET é executada sobre uma Common Language Runtime- CLR (Ambiente de Execução Independente de Linguagem) interagindo com um Conjunto de Bibliotecas Unificadas (framework). Esta CLR é capaz de executar, atualmente, mais de 20 diferentes linguagens de programação, interagindo entre si como se fossem uma única linguagem. As principais são: C#, ASP .NET, VB .NET, C++, Python, Java, Perl, Ruby, F#, J#, etc.

Figura 1: Arquitetura DLR (Dynamic Language Runtime)
O Dynamic Language Runtime (DLR) da Microsoft é um esforço para trazer um conjunto de serviços que são executados em cima do Common Language Runtime (CLR), o .NET Framework 4.0 tem este serviços linguísticos construído dentro dele e fornece integração com várias linguagens dinâmicas. Esses serviços incluem:


  • Um tipo de sistema dinâmico, a ser compartilhado por todas as línguagens utilizando os serviços DLR
  • Envio de método dinâmico
  • Geração de código dinâmico
  • API de hospedagem

Arquitetura .NET


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 duplo-compilados (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 mais de vinte 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 MSIL (Microsoft Intermediate Language).

Este novo código fonte gera um arquivo na linguagem de baixo nível 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

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 de esta arquitetura utilizar a MSIL 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 MSIL, trocando nomes de variáveis, métodos, interfaces e etc. para dificultar o trabalho de quem tentar uma engenharia reversa no mesmo.

.NET Framework 4



Figura 2: A evolução do Framework



O .NET Framework 4 (versão mais recente: 4.0.30319.1) 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 pattern 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, disponível em http://www.microsoft.com/web/downloads/platform.aspx.

Tayrone Lourenço

Um comentário: