Microsoft .NET
Origem: Wikipédia, a enciclopédia livre.
Sinta-se livre para editá-la para que esta possa atingir um nível de qualidade superior.
Microsoft .NET é uma iniciativa da Microsoft em 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 ou plataforma que possua um framework: a "Plataforma .NET" (.NET Framework). Com idéia 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.
Índice |
[editar] Tecnicamente Falando
A plataforma .NET, é executada sobre uma CLR (Common Language Runtime - Ambiente de Execução Independente de Linguagem) interagindo com uma Coleção de Bibliotecas Unificadas, que juntas são o próprio framework. Esta CLR é capaz de executar, atualmente, mais de vinte diferentes linguagens de programação, interagindo entre si como se fossem uma única linguagem. Estas são:
- APL
- Boo
- Fortran
- Pascal
- C++
- Haskell
- Perl
- C#
- Java
- Python
- COBOL
- Microsoft JScript®
- RPG
- Component Pascal
- Mercury
- Scheme
- Curriculum
- Mondrian
- SmallTalk
- Eiffel
- Oberon
- Standard ML
- Forth
- Oz
- Microsoft Visual Basic®
- Delphi
- J#
- Ruby
- Lua
Esta plataforma permite a execução, construção e desenvolvimento de Web Services e Aplicações Web de forma integrada e unificada.
[editar] Arquitetura .NET
Programas escritos para a plataforma .NET são duplamente compilados, para entender isto, vamos a uma rápida comparação com as outras linguagens.
- Programas Interpretados: O Java é o grande exemplo de uma linguagem de programação interpretada, programas desenvolvidos em Java rodam em cima de uma Máquina Virtual (Virtual Machine) que gerencia a execução do programa passo a passo, instrução a instrução. A vantagem deste tipo de linguagem está na segurança.
- Programas Compilados: Programas compilados geram código binário compreensível pelo Sistema Operacional, ou seja quando um programa é executado ele é inteiro carregado na memória em linguagem de máquina. A vantagem deste tipo de linguagem está na performance.
A plataforma .NET se baseia em um dos principios utilizados na tecnologia Java (compiladores JIT), os programas desenvolvidos para ela são duplo-compilados, ou seja são compilados duas vezes, uma na distribuição e outra na execução.
Um programa é escrito em qualquer das mais de vinte linguagens de programação disponível 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 chamado de 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 JIT (Just In Time Compiler), 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 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 idéia agradável para as empresas que sobrevivem da venda de softwares produzidos nesta plataforma.
Por causa disso, existem ferramentas que "ofuscam" este código MSIL, trocando nomes de variáveis, métodos, interfaces e etc para dificultar o trabalho de quem tentar uma engenharia reversa num código compilado MSIL.
[editar] Tópicos Relacionados
[editar] Ligações externas
- C# Online.NET - C# e .NET enciclopédia em inglês.
- C# Online.NET - C# e .NET enciclopédia no espanhol. (novo)
- Página Oficial do Framework .NET
- MSDN - Comunidade oficial de desenvolvedores Microsoft
- MSDN Brasil - Comunidade brasileira oficial de desenvolvedores Microsoft