Fundamentos da plataforma -...

13
Fundamentos da Fundamentos da plataforma .NET plataforma .NET plataforma .NET plataforma .NET André Menegassi

Transcript of Fundamentos da plataforma -...

Fundamentos da Fundamentos da plataforma .NETplataforma .NETplataforma .NETplataforma .NET

André Menegassi

O que é o .NET Framework?O que é o .NET Framework?

• .NET é uma plataforma de software para desenvolvimento de aplicações que conecta informações, sistemas, pessoas e dispositivos através de tecnologias de uso pessoal, de negócios, de telefonia celular a servidores corporativos, permitindo assim, o acesso rápido a informações importantes onde elas forem necessárias.

• Permite desenvolver soluções/aplicativos como:– Aplicativos Web– Aplicativos Web

– Aplicativos Windows

– Aplicativos para Servidores

– Aplicativos Smart Client

– Aplicativos de Console

– Aplicativos de Banco de Dados

– Serviços Windows (aplicativos que rodam como serviços)

– Web Services e muito mais

O que é o .NET Framework?O que é o .NET Framework?

• Toda e qualquer aplicação gerada em .NET, pode ser executada em qualquer dispositivo ou plataforma que possua o .NET Framework.

• O .NET Framework implementa uma máquina virtual.

• Máquina virtual: Abstrair a necessidade do desenvolvedor de interagir com o sistema operacional oferecendo um rico conjunto de ferramentas e

bibliotecas de objetos que permitem alta produtividade no desenvolvimento de

sistemas.sistemas.

• O instalador da plataforma para o sistema operacional Windows pode ser baixado no site da Microsoft, e é gratuito.

– http://msdn.microsoft.com/en-us/netframework/default.aspx

• Mono-Project (www.mono-project.com): versão do .NET Framework 4.0 para ambientes:

• .NET Compact Framework para dispositivos que utilizam Windows Mobile.

Evolução do .NET Framework Evolução do .NET Framework

20022002 20032003 20052005 20062006 20082008 20102010Lançamento do

Framework 1.0

Lançamento do

Framework 1.1

Lançamento do

Framework 2.0

Lançamento do

Framework 3.0

Lançamento do

Framework 3.5

Lançamento do

Framework 4.0

Visual Studio

.NET 2002

Visual Studio

.NET 2003

Visual Studio

.NET 2005

Visual Studio

.NET 2005

Visual Studio

.NET 2008

Visual Studio

.NET 2010

WebMatrix WebMatrix Opções gratuitas de ferramenta de desenvolvimento da própria Microsoft

(http://www.microsoft.com/express/default.aspx).

Grande Evolução Pequenas Consideráveis Novos recursos Linq Project A IDE foiGrande Evolução

no desenvolvimento

de tradicional de

software.

Esse primeiro

release foi pouco

conhecido e

utilizado.

Pequenas

melhorias

Consideráveis

melhorias de

acesso a dados

(ADO.NET 2.0)

Team Foundation

Server (TFS:

aplicação de

metodologias de

gerência de projeto

ao desenvolvimento

apoiado pelo Visual

Studio.NET.)

Novos recursos

para interface

Windows (WPF)

Novo sistema de

comunicação

(WCF) para

aplicações

distribuídas

MS-ASP.NET

AJAX (biblioteca

separada do

Framework)

XNA Game Studio

Linq Project

(mapeamento

objeto-relacional)

Incorporação MS-

ASP.NET AJAX ao

Framework

SP1: Integração

total com AJAX

Control ToolKit

A IDE foi

reconstruída em

WPF.

Arquitetura do .NET FrameworkArquitetura do .NET Framework

Arquitetura do .NET FrameworkArquitetura do .NET Framework

Arquitetura do .NET FrameworkArquitetura do .NET Framework

• O CLR é um ambiente de tempo de execução (runtime) que realiza tarefas, tais como: execução do programa, gerenciamento de memória (coleta de lixo), segurança, tratamento de erro, controle de versão e suporte de instalação. Realiza a interface entre a aplicação e o sistema operacional. O código que é executado nesse ambiente de runtime é chamado de Código Gerenciado (“Managed Code”), enquanto aquele que é executado fora é chamado de Código Não Gerenciado (“Unmanaged Code”). Gerenciado (“Unmanaged Code”).

• A Base Classe Library (BCL) é um conjunto de classes que o .NET disponibiliza para todas as linguagens que rodam sob o .NET Framework. Essa base encapsula várias funcionalidades que tornam o trabalho do desenvolvedor muito mais fácil e qualquer linguagem do Framework pode utilizar.

– A BCL é organizada em namespaces.

– Namespaces são grupos de classes relacionadas

Arquitetura do .NET FrameworkArquitetura do .NET Framework

• O .NET Framework foi desenvolvido para ser compatível com diversas linguagens de programação.

• LPs suportadas: C#, VB.NET, C++, J#, JScript, Perl, Python, Fortran, Cobol,

e outras.

• Uma LP para ser compatível com o .NET Framework precisa atender a CLS e

CTS.

• Common Language Specification (CLS): Define os padrões e regras mínimas que o compilador precisa estar em conformidade. mínimas que o compilador precisa estar em conformidade.

• Common Type Specification (CTS): Garante compatibilidade entre os componentes .NET.

– Um integer do Visual Basic .NET e um int do C# são iguais, pois ambos são

representados da mesma forma, como System.Int32

• IMPORTANTE: Somente a sintaxe (forma de representar expressões, instruções e unidades de programa) das linguagens é suportada pelo CLR, pois os tipos, as classes, métodos, propriedades e eventos são os recursos da plataforma e não da linguagem escolhida.

Arquitetura do .NET FrameworkArquitetura do .NET Framework

• Exemplo de código em C#: HelloWorld em C#

using System;

public class HelloWorld

{

public static void Main()

{

Console.WriteLine(“HelloWorld C#!”);

}}

}

• Exemplo de código em VB.NET: HelloWorld em VB.NET

Imports System

Module HelloWorld

Sub Main()

Console.WriteLine(“Hello World VB.NET!”)

End Sub

End Module

Processo de compilação e execução de uma aplicação .NETProcesso de compilação e execução de uma aplicação .NET

Microsoft Intermediate Language

(MSIL) ou simplesmente IL. Esta é a

forma que a aplicação é

publicada/disponibilizada, em um ou

mais assemblies, em MSIL compostos

por DLLs (bibliotecas) e executáveis.

Um desses assemblies deve conter um

executável designado como ponto de

entrada da aplicação.

A MSIL é uma linguagem de baixo-nível que a CLR pode ler e entender.P

roce

sso

de

compilação

Pro

cess

o d

e compilação

nível que a CLR pode ler e entender.

O JIT converte instruções MSIL para

instruções específicas (código de

máquina) da arquitetura do

processador onde a aplicação .NET é

executada.

Pro

cess

o d

e

Pro

cess

o d

e

Pro

cess

o d

e execução

Pro

cess

o d

e execução

Processo de compilação e execução de uma aplicação .NETProcesso de compilação e execução de uma aplicação .NET

Código MSIL da aplicação

HelloWorld gerado pelo

compilador C#.

Código MSIL da aplicação

HelloWorld gerado pelo

compilador VB.NET.

Processo de compilação e execução de uma aplicação .NETProcesso de compilação e execução de uma aplicação .NET

C# codeVisual Basic

.NET code

Qual Linguagem?

CompiladorVisual Basic .NET

Compilador C#

default.aspx

Código

Nativo

MSILJITcompiler

Common Language Runtime

Leitura complementarLeitura complementar

• http://msdn.microsoft.com/library/zw4w595w.aspx