A plataforma .NET é um ambiente de desenvolvimento poderoso, que permite o desenvolvimento de aplicações DESKTOP (p/ Windows ou console), aplicações para aparelhos móveis (palm-tops, celulares, ...) e desenvolvimento de aplicações WEB (através da tecnologia ASP.NET).
Essa plataforma é fornecida por um produto da Microsoft chamado .NET FRAMEWORK. Você pode encontrá-lo no site da Microsoft, na URL
http://www.microsoft.com/netframework , e é gratúito. Caso você tenha o Servidor Windows.NET 2003 SERVER, ele já vem incluído.
A plataforma .NET tem a proposta de proporcionar um ambiente de desenvolvimento avançado, disponibilizando recursos poderosos para uso dos desenvolvedores. Para isso, a Microsoft unificou todas as soluções de desenvolvimento dela nessa nova plataforma, além de melhorar bastante os recursos oferecidos. Pode-se dizer que o .NET FRAMEWORK disponibiliza um ambiente de desenvolvimento multi-plataforma (em relação ao sistema operacional), multi-linguagem, orientada a objetos, e com uma grande e eficiente biblioteca de classes, como segue:
Multi-Plataforma: com um conceito similar à tecnologia JAVA, todo código desenvolvido, ao ser compilado, é interpretado, depurado (já contendo as verificações de lógica) e transformado em uma linguagem intermediária chamada MSIL (Microsoft Intermediate Language). Essa linguagem intermediária somente é entendida pelo CLR (Common Language Runtime). Quando um programa é rodado pela primeira vez, a CLR "lê" o código MSIL e o transforma em linguagem de máquina (0 / 1), o qual é interpretado pelo processador. Não podemos dizer, no entanto, que a CLR "interpreta" o MSIL. A intepretação é feita quando o código escrito é compilado, como descrito acima. Dessa forma, o papel da CLR é transformar o código MSIL na linguagem nativa da máquina em questão. Assim sendo, toda aplicação construída no .NET FRAMEWORK pode ser rodada em todas as plataformas que tem CLRs desenvolvidas. No entanto, só existe CLR homologada para a plataforma Windows até o momento.
Multi-Linguagem: no item anterior, foi falado que uma vez escrito o código, este deveria ser compilado e transformado em MSIL. Mas, em momento nenhum, foi citada em qual linguagem de programação este código deveria ser escrito. Isto porque qualquer linguagem que seja compatível com a plataforma de desenvolvimento .NET pode ser utilizada, ou seja, se um determinado compilador de linguagem segue as especificações da CLS (Common Languagem Specification), ela é compatível com .NET, e gera códigos MSIL compatíveis com a CLR. Hoje, existem 3 linguagens homologadas seguindo a CLS. São elas C#, VB.NET e J#. A grosso modo, podemos dizer então que um aplicativo "HELLO WORLD" escrito em qualquer uma dessas 3 linguagens, ao ser compilada, tem o mesmo código MSIL.
Orientação a Objetos: A plataforma de desenvolvimento .NET dá suporte total à Orientação de Objetos. Dessa forma, todas as linguagens homologadas devem ter suporte a Orientação de Objetos, e assim, permitir a criação de classes com propriedades e métodos, incluindo método construtor, herança, polimorfismo, agregação, sobrescrita de métodos, sobrecarga de métodos, entre outras. Deve ainda conter ferramenta de tratamento de erros. Dá suporte também à interoperabilidade das linguagens, ou seja, classes escritas em uma determinada linguagem, e compilada, pode ser lida por qualquer uma das outras linguagens que seguem as especificações da CLS, ou seja, é possível acessar, por exemplo, em um aplicativo escrito em C#, classes desenvolvidas em VB.NET.
Para completar, a plataforma de desenvolvimento .NET contém uma biblioteca de classes nativas, que incluem classes de acesso e manipulação de dados, classes que contém objetos visuais (Windows forms), classes de manipulação de informações transmitidas pela WEB (ASP.NET), classes de acesso ao sistema, entre outros...É uma infinidade de classes que tem como objetivo proporcionar ao desenvolvedor que tenha o foco no "negócio" da aplicação (no objetivo da aplicação) e não na ampliação dos limites tecnológicos da plataforma de desenvolvimento utilizada.
Para resumir um pouco esse processo, podemos dizer que:
1. O código é escrito pelo desenvolvedor utilizando uma das ferramentas de desenvolvimento disponíveis (Visual Studio.NET, Notepad,...)
2. O código é compilado e transformado em MSIL
3. Ao ser executado pela primeira vez na máquina, a CLR lê o MSIL, o transforma em linguagem de máquina, e o armazena em memória
4. O processador processa essas instruções
Podemos concluir, a respeito do .NET FRAMEWORK, que este é um ambiente de desenvolvimento multi-plataforma, multi-linguagens, multi-dispositivos, e que dá suporte total a orientação a objetos, além de conter uma biblioteca de classes muito rica. Podemos ainda dizer que é uma plataforma de desenvolvimento similar à plataforma de desenvolvimento JAVA, ao compararmos seus conceitos e propostas. Podemos ainda dizer que, desta forma, a Microsoft está procurando um lugar no mundo, ao lado da tecnologia JAVA, que é muito famosa, requisitada, utilizada devido essas características.