Bruno C. de Paula Introdução à Plataforma .Net 1º Semestre 2010 > PUCPR > BSI 05/11/2015 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. 2 3 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”. 4 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. 5 Versões principais(compatíveis entre si): 2003: 1.1 – 2008: 3.5 2005: 2.0 – 2010: 4.0 6 Common Language Runtime CLR 7 CLR Ambiente de execução; Padronizado pela ECMA; Fornece suporte às linguagens de programação do .Net: VB.Net; C#; C++; J#; F# Etc?????? 8 CLR - Responsabilidades Execuçã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). 9 C# VB.Net F# Compilador ... Código nativo MSIL Compilador JIT do CLR 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 Common Type System (CTS) 11 Tipo Por Valor (“Value Types”) Por Referência (“Reference Types”) Definidos pelo Usuário Pré-definidos Auto-descritos Inteiros Enumerações (“Enums”) Ponto Flutuante Estruturas Interface Ponteiro Equivalentes por Nome Pré-definidos String Delegates Object “Boxed Value Types” “Boxed Enums” Equivalentes Estruturais Arrays 12 Olá, Mundo – C# using System; class olaMundo { public static void Main() { String msg = "Ola Mundo!"; Console.WriteLine (msg); } } COMPILAR COM: csc olamundo.cs 13 Assembly Código fonte Compilador Csc.exe, Vbc.exe,… C++, C#, Visual Basic ou qualquer outra linguagem .NET DLL ou EXE Principais plataformas de desenvolvimento ASP .NET ASP .NET Web MVC Services Web Forms 14 WPF e Windows Silverlight Forms ADO .NET – Dados e XML Biblioteca de Classes Básicas Common Language Runtime Windows Forms Desktop em .Net Abordagem 15 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; WPF Desktop em .Net Usa 16 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. 17 ASP.NET MVC 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 Compete com o Adobe Flash; Crossbrowser; Mais voltado para design; RIA: Rich Internet Applications; Cases: olimpíadas, nba; Abordagem declarativa (XAML); Futuro bastante indefinido! 19 05/11/2015 (Web Forms) 20 Web Forms Web 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 Forms Acoplamento forte entre camadas! Web Forms Acoplamento forte entre camadas