Partilhar via


Visão geral conceitual do .NET Framework

O .NET Framework é um componente integral do Windows que oferece suporte à criação e execução da próxima geração de aplicativos e Serviços XML da Web.O .NET Framework foi criado para atender os seguintes objetivos:

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

  • Para fornecer um ambiente da execução de código que minimiza conflitos de implantação e versionamento de software.

  • Para fornecer um ambiente da execução que promova a execução segura do código, incluindo o código criado por terceiros: desconhecidos ou semiconfiáveis.

  • 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 criar todas as comunicações nas indústrias padrão, para garantir que códigos baseados no .NET Framework possam se integrar a qualquer outro código.

O .NET estrutura tem dois componentes principais: o common linguagem tempo de execução e biblioteca de classes do .NET estrutura.O Common Language Runtime é a fundação do .NET Framework.Você pode pensar no Runtime como um agente que dirige o código no tempo de execução, fornecendo serviços principais como gerenciamento de memória, gerenciamento de segmento e arquitetura de comunicação remota, enquanto forçam, também, a segurança de tipos estritos e outras formas de precisão de código que promovem segurança e robustez.Na verdade, o conceito de gerenciamento de código é um princípio fundamental do Runtime.O código que visa o Runtime é conhecido como código gerenciado, enquanto o código que não visa o Runtime é conhecido como código não gerenciado.A biblioteca de classes, outro componente principal do .NET Framework, é uma coleção de objetos orientados de tipos reutilizáveis, que você pode usar para desenvolver aplicativos, variando de linhas de comando tradicionais ou aplicativos gráficos de interfaces de usuários (GUI), para aplicativos com base nas inovações mais recentes fornecidas pelo ASP.NET, como Web Forms e Serviços XML da Web.

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

Por exemplo, o ASP.NET hospeda o Runtime 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 ativar os aplicativos ASP.NET e Serviços XML da Web, ambos serão discutidos posteriormente neste tópico.

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

A ilustração a 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.

NET Framework em contexto

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

Recursos do Common Language Runtime

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

Quanto à segurança, os componentes gerenciados são concedidos variando os graus da confiança, dependendo do 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 de arquivo, operações de registro de acesso ou outras funções confidenciais, mesmo se ele estiver sendo usado no mesmo aplicativo ativo.

O Runtime impõe segurança de acesso a código.Por exemplo, os usuários podem confiar que um executável, incorporado em uma página da Web, pode reproduzir uma animação na tela ou tocar uma música, mas não pode acessar seus dados pessoais, arquivos de sistema ou rede.Os recursos de segurança do Runtime ativam o legítimo Internet-deployed software para ser caracterizado, excepcionalmente, como rico.

O Runtime também impõe robustez ao código ao implementar uma estrita infraestrutura Type-and-Code-Verification chamada Common Type System (CTS).O CTS assegura que todo código gerenciado é autodescritivo.Os diversos compiladores de linguagem da Microsoft e de terceiros geram códigos gerenciados que estão em conformidade com o CTS.Isso significa que códigos gerenciados podem consumir outros tipos gerenciados e instâncias, enquanto forçam estritamente a fidelidade tipo e segurança.

Além disso, o ambiente gerenciado do Runtime elimina muitos problemas comuns de software.Por exemplo, o Runtime automaticamente manipula o layout de objetos e gerencia referências a eles, liberando-os quando não estão sendo usados.Este gerenciamento automático de memória resolve os dois erros mais comuns de aplicativos: vazamentos e referências inválidas de memória.

O Runtime também acelera a produtividade do desenvolvedor.Por exemplo, os programadores podem escrever aplicativos em sua linguagem de desenvolvimento de preferência, mas aproveitar completamente o Runtime, a biblioteca de classes e componentes escritos em outras linguagens, por outros desenvolvedores.Qualquer fornecedor de compilador que escolher direcionar o Runtime pode fazê-lo.Compiladores de linguagem que direcionam o .NET Framework tornam os recursos do .NET Framework disponíveis para códigos existentes, escritos nessa linguagem, facilitando bastante o processo de migração para os aplicativos existentes.

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 aos desenvolvedores continuar a usar os componentes COM e DLLs necessários.

O Runtime é projetado para melhorar o desempenho.Embora o Common Language Runtime forneça vários serviços padrão de Runtime, o código gerenciado nunca é interpretado.Um recurso chamado compilação Just-In-Time (JIT) ativa todos os códigos gerenciados para executar na linguagem nativa da máquina do sistema, no qual ele estiver 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.

Finalmente, o Runtime pode ser hospedado por aplicativos de alto desempenho, do lado do servidor, como o Microsoft ® SQL Server ™ e Serviços de Informações da Internet (IIS).Esta infraestrutura permite que você use código gerenciado para escrever sua lógica corporativa, enquanto aproveita o desempenho superior dos melhores servidores de empresa que suportam runtime hosting.

Biblioteca de classes .NET Framework

A Biblioteca de classes do .NET Framework é uma coleção de tipos reutilizáveis que se integram rigidamente com o Common Language Runtime.A biblioteca de classes é orientada a objetos, fornecendo tipos que seu próprio código gerenciado pode derivar.Isso não só torna os tipos do .NET Framework fáceis de usar, como também reduz o tempo associado ao aprendizado de novos recursos do .NET Framework.Além disso, componentes de terceiros podem se integrar totalmente com 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 com as classes do .NET Framework.

Como você espera de uma biblioteca de classe orientada a objetos, os tipos do .NET Framework permitem que você realize uma gama 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 oferecem suporte a uma variedade de cenários especializados de desenvolvimento.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 vastamente o desenvolvimento do Windows GUI.Se você criar um aplicativo de Web Form ASP.NET, você pode usar as classes Web Forms.

Consulte também

Outros recursos

Núcleo tecnologias de desenvolvimento

Tecnologias de desenvolvimento avançadas

QuickStarts

Exemplos do .NET Framework