Download - Introdução à Plataforma .Net
Introdução à Plataforma .Net
1º Semestre 2010 > PUCPR > BSI
Bruno C. de PaulaBruno C. de Paula
Resumo da aula
Definir o que é a plataforma .Net;
Citar as principais opções de desenvolvimento nesta plataforma;
Situar o framework ASP.NET neste contexto.
220/04/23
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”.
3
Motivação de uso da plataforma
Projetado já tendo como objetivo:Internet;Banco de Dados.
Enquanto isso em outras plataformas:adaptadas para a Internet;acesso a bd complexo.
4
Versões principais(compatíveis entre si): 2003: 1.12005: 2.0
5
–2008: 3.5–2010: 4.0
6
Common Language RuntimeCLR
CLR
Ambiente de execução;Padronizado pela ECMA;Fornece suporte às linguagens de
programação do .Net:VB.Net;C#;C++;J#;F#Etc??????
7
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).
8
9
C# VB.Net F# ...
Compilador
MSIL
Compilador JITdo CLR
Código nativo
Biblioteca de classes:.Net Framework Class Library
10
ASP.NET VB.NET C#
CLR
...
.NET Framework Class Library
System.Data
System.Net
System.Security
Microsoft.CSharp
System.Io
...
Common Type System (CTS)11
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
Olá, Mundo – C#12
using System;class olaMundo {
public static void Main() {
String msg = "Ola Mundo!";Console.WriteLine (msg);
}}
COMPILAR COM:csc olamundo.cs
13
Código fonte
C++, C#, Visual Basic ou qualquer outra linguagem .NET
Csc.exe, Vbc.exe,…
Compilador
Assembly
DLL ou EXE
Principais plataformas de desenvolvimento
14
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
15
Windows FormsDesktop em .Net
Abordagem 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;
16
WPFDesktop em .Net
Usa 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.
ASP.NET MVC17
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.
Silverlight (WPF/e)Web em .Net
19
Compete com o Adobe Flash;Crossbrowser;Mais voltado para design;RIA: Rich Internet Applications;Cases: olimpíadas, nba;Abordagem declarativa (XAML);Futuro bastante indefinido!
2020/04/23
(Web Forms)
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#.
21
Web FormsAcoplamento forte entre camadas!
Web FormsAcoplamento forte entre camadas