Daniel Tell
Nilton Ramos
Tales Fontoura da Rocha
Microsoft .NET

Microsoft .NET ( .NET Framework ou 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 (como o JAVA VM).
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
O .NET Framework é um componente essencial do Windows que oferece
suporte à criação e execução da próxima geração de aplicativos e serviços
XML da Web.
Microsoft .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 duplamente
compilados, uma na distribuição (gerando "bytecodes") e outra na execução.

Desenvolve-se um aplicativo 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).

APL, Boo, Clarion, COBOL, Component Pascal, C♯, C++, F♯, Eiffel,
Forth, Fortran, Haskell, Java, JScript, J#, Lua, Mercury, Mondrian,
Oberon, Object Pascal / Delphi Language, Oz, Pascal, Perl,
PowerBuilder, PowerShell, Python, RPG, Ruby, Scheme,
SmallTalk, Standard ML, Visual Basic.
Microsoft .NET
O .NET Framework foi criado para atender os seguintes objetivos






Fornecer um ambiente de programação orientada a objetos consistente,
tendo o código objeto armazenado e executado localmente, e a execução
sendo localmente mas distribuído pela Internet ou executado remotamente.
Fornecer um ambiente da execução de código para minimizar conflitos de
implantação e versão de software.
Fornecer um ambiente da execução que promova a execução segura do
código, incluindo o código criado por terceiros.
Fornecer um ambiente de execução que elimina problemas de
desempenho de outros 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.
Microsoft .NET
O .NET possui dois componentes principais


Common language runtime (CLR)
Biblioteca de classes do .NET Framework.
Microsoft .NET
Common Language Runtime (CLR)

A Common Language Runtime (CLR) é a base do .NET Framework.

Pode-se 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.
Microsoft .NET
Common Language Runtime (CLR)
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
Microsoft .NET
Common Language Runtime (CLR)

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.
Microsoft .NET
Common Language Runtime (CLR)

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
Referências inválidas de memória.


Microsoft .NET
Common Language Runtime (CLR)

“O Runtime foi criado para o ser um software do
futuro, mas também suporta software atuais.”

“O Runtime é projetado para melhorar o
desempenho.”

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 infra-estrutura 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.

Microsoft .NET
Biblioteca de classes
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.

Pode-se usar para desenvolver aplicativos, desde os tradicionais
por linha de comando (CLI) ou aplicativos por interface gráfica
(GUI), até aplicativos com base nas inovações mais recentes
fornecidas pelo ASP.NET, como Web Forms e Serviços XML da
Web.
Microsoft .NET
Biblioteca de classes

“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.”
Microsoft .NET
Biblioteca de classes










Os tipos do .NET permitem que você realize uma gama de tarefas comuns de
programação, incluindo tarefas como gerenciamento de seqüê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 exemplor, pode-se usar o .NET Framework para desenvolver os seguintes tipos
de aplicativos e serviços:
Aplicativos de console.
Aplicativos Windows GUI (Windows Forms).
Aplicativos Windows Presentation Foundation (WPF)
Aplicativos ASP.NET.
Serviços da Web.
Serviços do Windows.
Aplicativos orientados para serviços usando Windows Communication Foundation
(WCF).
Aplicativos habilitados para fluxo de trabalho usando Windows Workflow
Foundation (WF).
Microsoft .NET
Relacionamento do CLR e da biblioteca de classes para seus
aplicativos e para o sistema geral.
Projeto Mono
O projeto Mono tem como objetivo desenvolver uma versão código livre
da plataforma .Net para o sistema operacional Linux. O projeto consiste
de três elementos críticos: um compilador para a linguagem de
programação C#, a máquina virtual (CLI) e uma biblioteca de classes
(class library).
Máquina Virtual: CLI

A CLI é uma máquina virtual que contém um carregador (loader) de classes (carrega
as classes que um programa usa para executar sua funcionalidade), um compilador
JIT (just-in-time), que compila o programa na sua primeira utilização gerando um
código para a CPU nativa) e um ambiente de coleta de lixo (garbage collection), que
gerencia o uso da memória do computador.
A CLI tem a mesma função que a Java Virtual Machine (JVM) tem na linguagem
Java. A CLI é o componente que irá permitir que programas escritos em C# sejam
executados em sistemas operacionais não-Windows, como o Linux.
Versões .Net






Visual Studio 2002 / .NET Framework 1.0
Visual Studio 2003 / .NET Framework 1.1
Visual Studio 2005 / .NET Framework 2.0
.NET Framework 3.0 (2006)
Visual Studio 2008 / .NET Framework 3.5
Visual Studio 2010 / .NET Framework 4.0
Exemplo de código C# .Net
// Um programa "Olá, Mundo!" em C#
class Ola
{
static void Main()
{
System.Console.WriteLine("Olá,
Mundo!");
}
}
Microsoft .NET
Bibliografia
http://msdn.microsoft.com/pt-br
 http://pt.wikipedia.org/wiki/Microsoft_.NET
 http://www.timaster.com.br
 http://www.mono-project.com

Download

Microsoft .NET