Top Banner
.Net Para Web Plataforma .Net 2º Semestre 2009 > PUCPR > Tecnologia de Programação II Bruno C. de Paula
38

.Net Para Web Plataforma .Net

Jan 26, 2016

Download

Documents

miyo

Bruno C. de Paula. .Net Para Web Plataforma .Net. 2º Semestre 2009 > PUCPR > Tecnologia de Programação II. Resumo da aula. Vamos revisar o que é a plataforma .Net e a linguagem C# . Revisar, principalmente , quais são as opções de desenvolvimento que temos para trabalhar com .Net; - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: .Net Para Web  Plataforma .Net

.Net Para Web

Plataforma .Net

2º Semestre 2009 > PUCPR > Tecnologia de Programação II

Bruno C. de PaulaBruno C. de Paula

Page 2: .Net Para Web  Plataforma .Net

Resumo da aulaVamos revisar o que é a plataforma .Net e a linguagem C#.

Revisar, principalmente, quais são as opções de desenvolvimento que temos para trabalhar com .Net;

Nosso objetivo principal hoje é entender porque apenas HTML/CSS/JavaScript não são suficientes para resolver todos os problemas e porquê a plataforma .Net pode nos ajudar.

Page 3: .Net Para Web  Plataforma .Net

O que é a plataforma .Net?

Microsoft;

Mudança radical no modelo de desenvolvimento e utilização de software;

“É uma mudança tão grande quanto a mudança do DOS para Windows”.

321/04/23

Page 4: .Net Para Web  Plataforma .Net

Motivação de uso da plataformaProjetado já tendo como objetivo:

–Internet;–Banco de Dados.

Enquanto isso em outras plataformas:–adaptadas para a Internet;–acesso a bd complexo.

421/04/23

Page 5: .Net Para Web  Plataforma .Net

Versões principais(compatíveis entre si): –2003: 1.1–2005: 2.0

521/04/23

–2008: 3.5–2010: 4.0

Page 6: .Net Para Web  Plataforma .Net

621/04/23

Common Language RuntimeCLR

Page 7: .Net Para Web  Plataforma .Net

CLRAmbiente de execução;Padronizado pela ECMA;Fornece suporte às linguagens de

programação do .Net:–VB.Net;–C#;–C++;– J#;–F#–Etc??????

721/04/23

Page 8: .Net Para Web  Plataforma .Net

CLR - ResponsabilidadesExecução do código MSIL:

– Microsoft Intermediate Language;– Corresponde ao bytecode do Java, mas

otimizado para a máquina alvo;–Código gerenciado.

Gerenciamento de memória;Criação de objetos;Usa biblioteca de classes comum (.Net) e

sistema de tipos comum (CTS).

821/04/23

Page 9: .Net Para Web  Plataforma .Net

921/04/23

C# VB.Net F# ...

Compilador

MSIL

Compilador JITdo CLR

Código nativo

Page 10: .Net Para Web  Plataforma .Net

Biblioteca de classes:.Net Framework Class Library

1021/04/23

ASP.NET VB.NET C#

CLR

...

.NET Framework Class Library

System.Data

System.Net

System.Security

Microsoft.CSharp

System.Io

...

Page 11: .Net Para Web  Plataforma .Net

Common Type System (CTS)

1121/04/23

TipoTipo

Por Valor(“Value Types”)

Por Referência(“Reference Types”)

Por Referência(“Reference Types”)

Pré-definidosPré-definidos Definidos pelo Usuário

Definidos pelo Usuário

Enumerações (“Enums”)

Enumerações (“Enums”)InteirosInteiros

Ponto FlutuantePonto Flutuante

Auto-descritosAuto-descritos

Equivalentes por Nome

Equivalentes por Nome

DelegatesDelegates

“Boxed Value Types”

“Boxed Value Types”

“Boxed Enums”“Boxed Enums”

Equivalentes Estruturais

Equivalentes Estruturais

ArraysArrays

EstruturasEstruturas

Interface Ponteiro Pré-definidos

String

Object

Page 12: .Net Para Web  Plataforma .Net

Olá, Mundo – C#

1221/04/23

using System;class olaMundo {

public static void Main() {

String msg = "Ola Mundo!";Console.WriteLine (msg);

}}

COMPILAR COM:csc olamundo.cs

Page 13: .Net Para Web  Plataforma .Net

1321/04/23

Código fonte

C++, C#, Visual Basic ou qualquer outra linguagem .NET

Csc.exe, Vbc.exe,…

Compilador

Assembly

DLL ou EXE

Page 14: .Net Para Web  Plataforma .Net

Principais plataformas de desenvolvimento

1421/04/23

Common Language Runtime

Biblioteca de Classes Básicas

ADO .NET – Dados e XML

ASP .NET ASP .NET

MVC

Web

Services

Web Forms

WPF e

Silverlight

Windows

Forms

Page 15: .Net Para Web  Plataforma .Net

Qual é a motivação para esta arquitetura?

Por que tantos tipos de front-ends (clientes) diferentes?

1521/04/23

Page 16: .Net Para Web  Plataforma .Net

1621/04/23

Page 17: .Net Para Web  Plataforma .Net

1721/04/23

HTMLCSS

JavaScriptFlash

Java Applet

Linguagens “lentas”,limitadas (sem acesso

a BD),Linguagens + simples,precisa da rede para

funcionar, multiplataforma

Page 18: .Net Para Web  Plataforma .Net

1821/04/23

PHPASPJSP

Java ServletRuby

...ASP.NET

Linguagens “rápidas”, poderosas, com acesso a BD, mais complexas, precisa

da rede para funcionar, pode não ser multiplataforma

Page 19: .Net Para Web  Plataforma .Net

1921/04/23

Requisição Cliente X Servidor

Page 20: .Net Para Web  Plataforma .Net

2021/04/23

Resposta do Servidor ao Cliente

Page 21: .Net Para Web  Plataforma .Net

2121/04/23

O processamento

principal vai ficar com o servidor:

Algoritmos complexos,Regras de Negócio,

Acesso ao BD

Page 22: .Net Para Web  Plataforma .Net

2221/04/23

Processamento!

Page 23: .Net Para Web  Plataforma .Net

2321/04/23

Interface com o usuário

Page 24: .Net Para Web  Plataforma .Net

2421/04/23

!

Page 25: .Net Para Web  Plataforma .Net

A situação anterior é péssima situação!

Necessidade de criação de N respostas diferentes,

dependendo do número de tipos de cliente!

Page 26: .Net Para Web  Plataforma .Net

2621/04/23

!

Page 27: .Net Para Web  Plataforma .Net

2721/04/23

Processamento!

C#Java

CC++

Visual BasicEtc...

+ poderoso que HTML/CSS/JS,

acessa BD, pode não depender de

rede, pode não ser multiplataforma

Page 28: .Net Para Web  Plataforma .Net

2821/04/23

Plataforma .Net:Linguagem C#,

Geração de programas para

Windows e Linux Mono

Page 29: .Net Para Web  Plataforma .Net

2921/04/23

Windows Forms,

WPF: Windows Presentation Foundation

Page 30: .Net Para Web  Plataforma .Net

3021/04/23

Windows FormsDesktop em .NetAbordagem imperativa (código C#):

–Descreve o programa como um conjunto de ordens (ações);

–Diz como fazer;–Poderosas, mas difíceis para "pessoas

normais";Exemplos:

–Swing, Windows Forms, etc;

Page 31: .Net Para Web  Plataforma .Net

3121/04/23

WPFDesktop em .NetUsa DirectX;Abordagem declarativa (XAML);

– Descreve o que deve ser feito, mas não se preocupa com como os procedimentos funcionam;

– Mais simples de serem entendido, mas menos poderoso;

Facilidade de usar editor visual;Exemplos:

– WPF, HTML, JavaFx.

Page 32: .Net Para Web  Plataforma .Net

Web FormsWeb em .Net – nossa disciplina!“Drag & Drop” de componentes;Geração de código HTML/ CSS/ JS;Abordagem híbrida formada por 2

componentes principais:–Modelo (páginas ASPX):

• Declarativo;• Semelhante a HTML;

–Seção de código (páginas ASPX.CS):• Imperativo;• Código em C#.

3221/04/23

Page 33: .Net Para Web  Plataforma .Net

Web FormsAcoplamento forte entre camadas!

Page 34: .Net Para Web  Plataforma .Net

Web FormsAcoplamento forte entre camadas

Page 35: .Net Para Web  Plataforma .Net

ASP.NET MVC

3521/04/23

Implementação da Microsoft para o paradigma MVC: Model View Controller;

Visual Studio 2010 ou http://www.asp.net/mvc

Alternativa a Web Forms;Separação entre camadas.

Page 36: .Net Para Web  Plataforma .Net
Page 37: .Net Para Web  Plataforma .Net

Silverlight (WPF/e)Web em .Net

3721/04/23

Compete com o Adobe Flash;Crossbrowser;Mais voltado para design;RIA: Rich Internet Applications;Cases: olimpíadas, nba;Abordagem declarativa (XAML);

Page 38: .Net Para Web  Plataforma .Net

3821/04/23

Precisamos agora ver na prática a diferença entre algumas das abordagens citadas!