net para web plataforma .net
DESCRIPTION
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 PresentationTRANSCRIPT
![Page 1: Net Para Web Plataforma .Net](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/1.jpg)
.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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/6.jpg)
621/04/23
Common Language RuntimeCLR
![Page 7: Net Para Web Plataforma .Net](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/9.jpg)
921/04/23
C# VB.Net F# ...
Compilador
MSIL
Compilador JITdo CLR
Código nativo
![Page 10: Net Para Web Plataforma .Net](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/16.jpg)
1621/04/23
![Page 17: Net Para Web Plataforma .Net](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/19.jpg)
1921/04/23
Requisição Cliente X Servidor
![Page 20: Net Para Web Plataforma .Net](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/20.jpg)
2021/04/23
Resposta do Servidor ao Cliente
![Page 21: Net Para Web Plataforma .Net](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/22.jpg)
2221/04/23
Processamento!
![Page 23: Net Para Web Plataforma .Net](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/23.jpg)
2321/04/23
Interface com o usuário
![Page 24: Net Para Web Plataforma .Net](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/24.jpg)
2421/04/23
!
![Page 25: Net Para Web Plataforma .Net](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/26.jpg)
2621/04/23
!
![Page 27: Net Para Web Plataforma .Net](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/28.jpg)
2821/04/23
Plataforma .Net:Linguagem C#,
Geração de programas para
Windows e Linux Mono
![Page 29: Net Para Web Plataforma .Net](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/29.jpg)
2921/04/23
Windows Forms,
WPF: Windows Presentation Foundation
![Page 30: Net Para Web Plataforma .Net](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/33.jpg)
Web FormsAcoplamento forte entre camadas!
![Page 34: Net Para Web Plataforma .Net](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/34.jpg)
Web FormsAcoplamento forte entre camadas
![Page 35: Net Para Web Plataforma .Net](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/36.jpg)
![Page 37: Net Para Web Plataforma .Net](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061505/56815427550346895dc228d4/html5/thumbnails/38.jpg)
3821/04/23
Precisamos agora ver na prática a diferença entre algumas das abordagens citadas!