Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Visão geral do .NET Framework

 

O .NET Framework é uma tecnologia que dá suporte à compilação e à execução da próxima geração de aplicativos e serviços Web XML. O .NET Framework foi criado para atender aos seguintes objetivos:

  • Para fornecer um ambiente de programação orientada a objetos consistente, quer o código objeto seja armazenado e executado localmente, seja executado localmente mas distribuído pela Internet ou seja executado remotamente.

  • Fornecer um ambiente de execução que minimize conflitos de versionamento de publicação.

  • Fornecer um ambiente de execução que promova a execução segura de código criado por desconhecidos ou código de terceiros com baixo nível de confiança

  • Para fornecer um ambiente de execução que elimina os problemas de desempenho dos ambientes interpretados ou com scripts.

  • Para tornar a experiência do desenvolvedor consistente, através dos diversos tipos de aplicativos, como aplicativos baseados no Windows e aplicativos baseados na Web.

  • Para executar toda comunicação usando padrões da indústria, assim garantindo que códigos baseados no .NET Framework possam se integrar a qualquer outro código.

System_CAPS_noteObservação

Para obter uma introdução geral do .NET Framework para usuários e desenvolvedores, consulte Introdução ao .NET Framework. Para baixar o .NET Framework, consulte Instalando o .NET Framework.

O .NET Framework consiste no Common Language Runtime e na biblioteca de classes .NET Framework. O Common Language Runtime é a base do .NET Framework. Você pode pensar no tempo de execução como um agente que gerencia o código no tempo de execução, fornecendo serviços básicos como gerenciamento de memória, gerenciamento de threads e comunicação remota, enquanto também impõe a segurança de tipos rígida e outras formas de precisão de código que promovam segurança e robustez. Na verdade, o conceito de gerenciamento de código é um princípio fundamental do tempo de execução. O código que segmenta o tempo de execução é conhecido como código gerenciado, e o código que não segmenta o tempo de execução é conhecido como código não gerenciado. A biblioteca de classes é uma coleção orientada a objeto de tipos reutilizáveis que você pode usar para desenvolver aplicativos, desde linhas de comando tradicionais ou aplicativos GUI (interface gráfica do usuário) a aplicativos com base nas inovações mais recentes fornecidas pelo ASP.NET, como Web Forms e Serviços Web XML.

O .NET Framework pode ser hospedado por componentes não gerenciados que carregam o Common Language Runtime internamente em seus processos e iniciam a execução de código gerenciado, criando assim um ambiente de software que pode explorar tanto funcionalidades gerenciadas como não gerenciadas. O .NET Framework não apenas fornece vários hosts de tempo de execução, mas também dá suporte ao desenvolvimento de hosts de tempo de execução de terceiros.

Por exemplo, o ASP.NET hospeda o tempo de execução para fornecer um ambiente escalonável, do lado do servidor para código gerenciado. ASP.NET trabalha diretamente com o tempo de execução para habilitar aplicativos ASP.NET e serviços Web XML, e ambos serão discutidos mais adiante neste tópico.

O Internet Explorer é um exemplo de um aplicativo não gerenciado que hospeda o tempo de execução (na forma de uma extensão tipo MIME). Usar o Internet Explorer para hospedar o tempo de execução permite que você insira componentes gerenciados ou controles Windows Forms em documentos HTML. Hospedar o tempo de execução dessa maneira torna possível o gerenciamento de código móvel, mas com melhorias significativas que somente o código gerenciado pode oferecer, como execução semiconfiável e armazenamento isolado de arquivos.

A ilustração à seguir mostra o relacionamento do Common Language Runtime e da biblioteca de classes para seus aplicativos e para o sistema geral. A ilustração também mostra como o código gerenciado opera dentro uma arquitetura maior.

Código gerenciado dentro uma arquitetura maior

.NET Framework em contexto

As seções a seguir descrevem os recursos principais do .NET Framework com mais detalhes.

O Common Language Runtime gerencia a execução de memória, execução de thread, execução de código, verificação de segurança do código, compilação e outros serviços do sistema. Esses recursos são intrínsecos ao código gerenciado, executado no Common Language Runtime.

Quanto à segurança, os componentes gerenciados são julgados de acordo com o grau de confiança, a depender de um número de fatores que incluem sua origem (como a Internet, rede corporativa ou computador local). Isso significa que um componente gerenciado pode ou não ser capaz de executar operações de acesso a arquivo, operações de acesso a Registro ou outras funções confidenciais, mesmo que esteja sendo usado no mesmo aplicativo ativo.

O tempo de execução impõe segurança de acesso à código. Por exemplo, os usuários podem confiar que um executável inserido em uma página da Web possa executar uma animação na tela ou tocar uma música, mas não possa acessar seus dados pessoais, arquivos de sistema ou rede. Assim, os recursos de segurança do tempo de segurança permitem que o software implantado pela Internet legítimo seja excepcionalmente avançado.

O Runtime também impõe robustez ao código pela implementação de uma rigorosa infraestrutura de verificação de tipagem chamada de Common Type System (CTS). O CTS assegura que todo código gerenciado seja autodescritivo. Os diversos compiladores de linguagem da Microsoft e de terceiros geram códigos gerenciados de acordo com o CTS. Isso significa que o código gerenciado pode consumir outros tipos e instâncias gerenciados, enquanto impõem rigorosamente a fidelidade e a segurança do tipo.

Além disso, o ambiente gerenciado do tempo de execução elimina muitos problemas comuns de software. Por exemplo, o tempo de execução identifica automaticamente o layout do objeto e gerencia referências a eles, liberando-os quando não estão mais sendo usados. Esse gerenciamento de memória automático resolve os dois erros mais comuns de aplicativo: perdas e referências de memória inválidas.

O tempo de execução também acelera a produtividade do desenvolvedor. Por exemplo, os programadores podem escrever aplicativos em sua linguagem de desenvolvimento preferida, mas aproveitar todo o tempo de execução, a biblioteca de classes e os componentes escritos em outras linguagens por outros desenvolvedores. Qualquer fornecedor de compilador que optar por segmentar o tempo de execução pode fazê-lo. Compiladores de linguagem que segmentam o .NET Framework disponibilizam os recursos do .NET Framework para códigos existentes, escritos nessa linguagem, facilitando bastante o processo de migração para aplicativos existentes.

Enquanto o Runtime foi criado para o software do futuro, mas também suporta software atuais. Interoperabilidade entre códigos gerenciados e não gerenciados permite que os desenvolvedores continuem usando os componentes COM e DLLs necessários.

O tempo de execução é projetado para melhorar o desempenho. Embora o Common Language Runtime forneça vários serviços de tempo de execução padrão, o código gerenciado jamais é interpretado. Um recurso chamado compilação JIT (just-in-time) permite que todos os códigos gerenciados sejam executados na linguagem de máquina nativa do sistema, na qual está em execução. Enquanto isso, o gerenciador de memória remove as possibilidades de memória fragmentada e aumenta a localidade de referência da memória, melhorando ainda mais o desempenho.

Por fim, o tempo de execução pode ser hospedado por aplicativos do servidor de alto desempenho, como o Microsoft SQL Server e o IIS (Serviços de Informações da Internet). Essa infraestrutura permite que você use código gerenciado para escrever sua lógica de negócio, enquanto aproveita o desempenho superior dos melhores servidores de empresa que dão suporte à hospedagem em tempo de execução.

A biblioteca de classes do .NET Framework é uma coleção de tipos reutilizáveis que se integram com o Common Language Runtime. A biblioteca de classes é orientada a objeto, fornecendo tipos que seu próprio código gerenciado pode derivar. Isso não apenas torna os tipos do .NET Framework fáceis de usar, mas também reduz o tempo associado ao aprendizado de novos recursos do .NET Framework. Além disso, componentes de terceiros podem ser totalmente integrados a classes do .NET Framework.

Por exemplo, as classes da coleção .NET Framework implementam um conjunto de interfaces que você pode usar para desenvolver suas próprias coleções de classes. Sua coleção de classes será perfeitamente combinada às classes do .NET Framework.

Como você poderia esperar de uma biblioteca de classe orientada a objetos, os tipos do .NET Framework permitem que você realize uma variedade de tarefas comuns de programação, incluindo tarefas como gerenciamento de sequência de caracteres, coleta de dados, conectividade do banco de dados e acesso a arquivos. Além dessas tarefas comuns, a biblioteca de classes inclui tipos que dão suporte a vários cenários de desenvolvimento especializados. Por exemplo, você pode usar o .NET Framework para desenvolver os seguintes tipos de aplicativos e serviços:

Por exemplo, as classes Windows Forms são um conjunto abrangente de tipos reutilizáveis que simplificam consideravelmente o desenvolvimento do Windows GUI. Se criar um aplicativo Web Form do ASP.NET, você poderá usar as classes Web Forms.

Mostrar: