1 / 38

.Net Para Web Plataforma .Net

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;

miyo
Download Presentation

.Net Para Web Plataforma .Net

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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; 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.

  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 • 2005: 2.0 • 2008: 3.5 • 2010: 4.0

  6. CommonLanguageRuntimeCLR

  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 Linguagem intermediária MSIL Compilador JIT do CLR

  10. 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

  11. Common Type System (CTS)

  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

  14. Principais plataformas de desenvolvimento ASP .NET MVC Web Services Web Forms ASP .NET WPF e Silverlight Windows Forms ADO .NET – Dados e XML Biblioteca de Classes Básicas Common Language Runtime

  15. Qual é a motivação para esta arquitetura?Por que tantos tipos de front-ends (clientes) diferentes?

  16. cliente web programa desktop servidor web

  17. HTML CSS JavaScript Flash Java Applet Linguagens “lentas”, limitadas (sem acesso a BD), Linguagens + simples, precisa da rede para funcionar, multiplataforma cliente web

  18. PHP ASP JSP Java Servlet Ruby ... ASP.NET servidor web Linguagens “rápidas”, poderosas, com acesso a BD, mais complexas, precisa da rede para funcionar, pode não ser multiplataforma

  19. Requisição Cliente X Servidor métodos GET e POST servidor web cliente web

  20. Resposta do Servidor ao Cliente servidor web cliente web HTML/CSS/JS Fragmentos de HTML JSON Formatos XML etc...

  21. O processamento principal vai ficar com o servidor: Algoritmos complexos, Regras de Negócio, Acesso ao BD servidor web = plataforma estável

  22. Processamento! servidor web

  23. Interface com o usuário cliente web = plataforma variável

  24. ! cliente web 1 (HTML) servidor web html cliente web 2 (Flash) ... flash

  25. A situação anterior é péssima situação! Necessidade de criação de N respostas diferentes, dependendo do número de tipos de cliente!

  26. ! cliente web 1 (HTML) web service soap/xml/json cliente web 2 (Flash) ... soap/xml/json

  27. Processamento! C# Java C C++ Visual Basic Etc... + poderoso que HTML/CSS/JS, acessa BD, pode não depender de rede, pode não ser multiplataforma Programa Desktop

  28. Plataforma .Net: Linguagem C#, Geração de programas para Windows e Linux Mono Programa Desktop

  29. Windows Forms, WPF: Windows Presentation Foundation Programa Desktop em C#

  30. 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;

  31. 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.

  32. 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#.

  33. Web FormsAcoplamento forte entre camadas!

  34. Web FormsAcoplamento forte entre camadas

  35. 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.

  36. 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);

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

More Related