Você está na página 1de 12

Conceito de Desenvolvimento de Aplicativos

Utilizando a Plataforma .Net


Linguagem de Programao VIII / C#

Prof Rodrigo Rocha Silva


Email: rrochas@gmail.com
Site: www.rrochas.com.br

Graduao em
Tecnologia em Anlise e Desenvolvimento de Sistemas

Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

Origem do .Net

1996 1997 2000


Internet Internet Internet
1st Gen 2nd Gen 3rd Gen

IE/IIS WinDNA
1992
Client/Server .NET

Win32

10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 2
Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

Verses

Verses principais(compatveis entre si):


2003: 1.1 2008: 3.5
2005: 2.0 2010: 4.0
10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 3

Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

O que .Net?

s uma nova linguagem?


um Visual Studio novo?
No s isso!!!
Mudana radical no modelo de desenvolvimento e
utilizao de software;
uma mudana to grande quanto a mudana do
DOS para Windows.

10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 4
Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

O que .Net?

Plataforma nica para desenvolvimento e


execuo de sistemas e aplicaes.

Execuo em qualquer dispositivo que possua


um framework de tal plataforma.

10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 5

Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

O que .Net?

Criada visando o desenvolvimento de software para


a internet e aplicaes distribudas.

10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 6
Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

Caractersticas da Plataforma .Net


Integrao entre Linguagens
Todas as linguagens .NET utilizam a mesma API de
desenvolvimento

10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 7

Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

Caractersticas da Plataforma .Net


Facilidade de Distribuio
Uma vez que o cdigo fonte compilado, os executveis
anotam as verses das DLLs que foram utilizadas
Os executveis rodam utilizando sempre as DLLs com
que foram compilados
No necessrio mais registrar o programa. O
assemblie contm toda informao necessria para o
funcionamento do programa

10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 8
Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

Caractersticas da Plataforma .Net


Flexibilidade
Tipagem forte (type safety) , todas as classes .NET
derivam de uma mesma classe me, Object

Confiabilidade
Coleta de lixo em todas linguagens
.NET

10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 9

Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

Como Funciona?
Source code VB C# C++
Unmanaged
Compiler Compiler Compiler
Component

Managed Assembly Assembly Assembly


code IL Code IL Code IL Code

Common Language Runtime

JIT Compiler

Native Code

Operating System Services 10

10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 10
Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

Common Language
Runtime
CLR

10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 11

Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

CLR
Controla a execuo de cdigo no .NET
Framework
Compila cdigo IL para cdigo nativo da
mquina antes da primeira execuo do
programa
Carrega classes necessrias para o
programa sendo executado
Refora as checagens de segurana

10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 12
Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

CLR
Ambiente de execuo;
Fornece suporte s linguagens de programao do
.Net:
VB.Net;
C#;
C++;
J#;
F#

10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 13

Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

Como Funciona?
EXEs e DLLs tem um formato especfico de arquivo
(PE Portable Executable)
O SO Windows consegue executar e carregar EXEs
e DLLs porque entende esse formato
Os programas .NET tem alguns dados a mais que
avisam o sistema operacional que a CLR deve ser
ativada e a partir disso cuida do carregamento e
execuo desse arquivo e de todos componentes
requisitados por ele

10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 14
Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

Biblioteca de classes: .Net Framework Class Library

ASP.NET VB.NET C# ...

.NET Framework Class Library

System.Data System.Security System.Io

System.Net Microsoft.CSharp ...

CLR

10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 15

Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

Como Funciona?

Gerando o Assemblie

Source Code Assemblie

Compilador
csc.exe ou vbc.exe
C++, C#, VB ou
DLL ou EXE
qualquer
linguagem .NET

10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 16
Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

Executvel Porttil

Exemplo

MyExample.DLL

Metadata

IL
Managed
code

Resources

10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 17

Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

Principais plataformas de desenvolvimento

ASP .NET ASP .NET Web Web WPF e Windows


MVC Services Forms Silverlight Forms

ADO .NET Dados e XML

Biblioteca de Classes Bsicas

Common Language Runtime

10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 18
Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

Principais plataformas de desenvolvimento

Qual a motivao para esta arquitetura?

Por que tantos tipos de cliente (front-ends)


diferentes?

10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 19

Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

Necessidade Atual

10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 20
Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

O que ASP?

Active Server Pages (ASP) uma linguagem


para gerao de pginas HTML
dinamicamente.

10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 21

Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

ASP .NET

O ASP.NET no uma nova verso do ASP


clssico, e sim um novo modelo de desenvolvimento
de aplicaes para web baseados nos princpios de
OO com amplo suporte da plataforma .NET.

10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 22
Conceito de Desenvolvimento de Aplicativos Utilizando a Plataforma .Net

Visual Studio
Ambiente de desenvolvimento integrado (IDE - Integrated Development
Environment) da Microsoft para gerao rpida de aplicaes.
Voltada ao desenvolvimento de aplicaes para:
o Windows Applications (Windows Forms);
o Windows Mobile;
o Windows Applications (ASP.NET);
o Windows Service(ASP.NET);
o Web Services;
o SmartPhone / PocketPC;
o Office;
o SQL 2005 / SQL 2008;
Principais linguagens suportadas:
o Visual Basic;
o Visual C#;
o Visual C++;
o F#, Iron Python, Ruby.Net: outros produtos.

10 de janeiro de 2011 5 ADS Linguagem de Programao VIII / C Sharp - Prof Rodrigo Rocha Silva 23