Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009

1,789 views

Published on

Explorando o desenvolvimento para web usando o ASP.NET 3.5 / AJAX / LINQ / Visual Studio 2008 no Campus Party 2009. Palestra realizada por Ramon Durães. MVP e especialista em desenvolvimento de software. Autor de livros e publicações relacionadas. Para saber mais visite o blog http://www.ramonduraes.net

Published in: Technology
  • Be the first to comment

Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009

  1. 2. MVP , Consultor sênior especializado em ciclo de desenvolvimento usando Visual Studio Team System. Palestrante nos maiores eventos do Brasil e autor de diversas publicações. Trabalha atualmente na 2PC Professional Consulting em http://www.2pc.com.br. Breve nas livrarias: Para saber mais: http://shop.2pc.com.br Notícias atualizadas sobre plataforma Microsoft. http://blogs.2pc.com.br/ramonduraes
  2. 3. <ul><li>Visual Studio 2008 </li></ul><ul><li>Microsoft AJAX </li></ul><ul><li>.NET 3.5 </li></ul><ul><li>LINQ (Language Integrated Query) </li></ul><ul><li>Silverlight </li></ul>
  3. 4. É um software para conectar informações, pessoas e dispositivos .
  4. 6. Qual Linguagem <ul><li>VB.NET (Visual Basic .NET) </li></ul><ul><li>C# (C Charp) </li></ul><ul><li>J# </li></ul><ul><li>Outras. </li></ul>
  5. 7. Compilação Compilation Código final compilado automaticamente “JUST IN TIME” Execution JIT Compiler Native Code MSIL Code Metadata Source Code Language Compiler
  6. 8. Recursos <ul><li>Baseado em Maquina Virtual </li></ul><ul><li>Ampla biblioteca de classes (Cerca de > 7.000) </li></ul><ul><li>Suporte 100% OOP </li></ul><ul><li>Aderente aos padrões web atuais (HTTP,XML,SOAP) </li></ul><ul><li>Segurança integrada </li></ul><ul><li>Todas linguagens após compiladas geram mesmo código intermediário </li></ul><ul><li>Threads </li></ul>
  7. 9. OOP.NET <ul><li>Classes (Especificação) </li></ul><ul><li>Herança (herdar de outra classe) </li></ul><ul><li>Polimorfismo (Mesmo método com funcionalidades diferentes) </li></ul><ul><li>Interface (Especifica padrão classe) </li></ul><ul><li>Herança Múltipla (Baseada em interfaces) </li></ul>
  8. 10. <ul><li>1.0 (2000) </li></ul><ul><li>1.1 (2002) </li></ul><ul><li>2.0 (2005) </li></ul><ul><li>3.0 (2007) (WPF;WCF;WF) </li></ul><ul><li>3.5 (2008) (Language Integrated Query) </li></ul>
  9. 11. <ul><li>Multi Target com suporte as versões do .NET: 2.0 ; 3.0 ; 3.5 </li></ul><ul><li>Fácil migração de projetos. </li></ul><ul><li>Amplo suporte a Web Designer and CSS para editoração de paginas html. </li></ul><ul><li>JavaScript totalmente suportado via Intellisense com debug. </li></ul><ul><li>Integrado com AJAX, WPF (Windows Presentation Foundation), WCF (Windows Comunication foundation), WF (Workflow Foundation). </li></ul>
  10. 12. Primeiros passos no ASP.NET (Server Control, IDE, Debug, Validação, )
  11. 13. Visual Studio 2008 (CSS,HTML,JavaScript)
  12. 14. Modelo Web <ul><li>Portável </li></ul><ul><li>Fácil distribuição </li></ul><ul><li>Baseada em Post/Get </li></ul>
  13. 15. AJAX?! O que é isso?
  14. 16. AJAX <ul><li>Asynchronous JavaScript and XML </li></ul><ul><li>Utiliza várias técnicas </li></ul><ul><ul><li>XML (Extensible Markup Language) </li></ul></ul><ul><ul><li>CSS (Cascading Style Sheets) </li></ul></ul><ul><ul><li>DOM (Application Programming Interface) </li></ul></ul><ul><ul><li>XMLHttp (Padrão W3c) </li></ul></ul><ul><li>Precisa escrever código JavaScript cliente com as chamadas XMLHttp </li></ul><ul><li>Código para diferentes Browsers. </li></ul>
  15. 17. <ul><li>Integrado ao Visual Studio 2008. </li></ul><ul><li>UpdatePanel com WebParts. </li></ul><ul><li>WCF based JSON end-points. </li></ul><ul><li>ASP.NET Profile, Role and Login Application Services using JavaScript. </li></ul><ul><li>Ajax Control Extender. </li></ul>
  16. 18. ASP.NET AJAX 3.5 AJAX EXTENDER
  17. 20. .NET Language Integrated Query C# 3.0 VB 9.0 Others… LINQ to Objects LINQ to SQL LINQ to XML LINQ to Entities LINQ to DataSets Objects <book> <title/> <author/> <year/> <price/> </book> XML Relational
  18. 21. var x = 5; static bool ValidaEmail(this object o); c => c.Name new Point { x = 1, y = 2 } new { c.Name, c.Phone } from … where … select Expression<T> <ul><li>Lambda expressions </li></ul><ul><li>Extension methods </li></ul><ul><li>Local variable type inference </li></ul><ul><li>Object initializers </li></ul><ul><li>Anonymous types </li></ul><ul><li>Query expressions </li></ul><ul><li>Expression trees </li></ul><ul><li>Automatic Properties </li></ul>public string Nome { get; set; }
  19. 22. Extension methods ( Novos métodos ) Lambda expressions ( Simplificando métodos anônimos ) Query expressions (Consulta) Object initializers ( Inicializador automático ) Anonymous types ( Criando nova classe ) Local variable type inference ( Declaração )
  20. 23. Explorando .NET Framework 3.5
  21. 24. <ul><li>Linguagem integrada para acesso a dados </li></ul><ul><li>Mapeamento de tabelas e linhas para classes e objetos </li></ul><ul><li>Baseado no ADO.NET and .NET Transactions </li></ul><ul><li>Integrado : Designer, Compiler, IDE </li></ul><ul><li>Mapeamento (LINQ to SQL Classes) </li></ul><ul><li>Armazenado em XML </li></ul><ul><li>Relacionamentos mapeados como propriedades </li></ul><ul><li>Persistência </li></ul><ul><li>Utiliza SQL ou Procedures </li></ul>
  22. 25. Enumerate SQL Query or SProc Rows Objects SubmitChanges() DML or SProcs Application LINQ to SQL from c in db.Clientes where c.Cidade == &quot;London&quot; select c.NomeEmpresa SELECT NomeEmpresa FROM Clientes WHERE Cidade = 'London' db.Clientes.Add(c1); c2.Cidade = “Seattle&quot;; db.Clientes.Remove(c3); INSERT INTO Cliente … UPDATE Cliente … DELETE FROM Cliente …
  23. 26. Database Table View Column Relationship Stored Procedure DataContext Class + Collection Class + Collection Property Nested Collection Method
  24. 27. Dados Classes
  25. 28. SqlConnection c = new SqlConnection(…); c.Open(); SqlCommand cmd = new SqlCommand( @&quot;SELECT c.Name, c.Phone FROM Customers c WHERE c.City = @p0&quot;); cmd.Parameters.AddWithValue(&quot;@p0&quot;, &quot;London“); DataReader dr = c.Execute(cmd); while (dr.Read()) { string name = dr.GetString(0); string phone = dr.GetString(1); DateTime date = dr.GetDateTime(2); } dr.Close(); Consultas SQL Parâmetros Resultados Tipos não verificados
  26. 29. var db = new NorthwindDataContext(); var consulta = from c in db.Customers select c; this.GridView1.DataSource = consulta; this.GridView1.DataBind(); Classes describe data Strongly typed connections Integrated query syntax Strongly typed results
  27. 30. Primeiros passos no LINQ to SQL. Realizando mapeamento. Fazendo primeira consulta. Debug SQL.
  28. 31. ASP.NET 3.5 Dynamic Data <ul><li>Geração dinâmica de telas </li></ul><ul><li>Suporte completo ao Scaffolding </li></ul><ul><li>Paginas completamente customizadas </li></ul><ul><li>Validação de acordo com o modelo de dados ou regras de negócios </li></ul><ul><li>Permite url customizáveis conforme o modelo </li></ul><ul><li>Disponível com o .NET Framework 3.5 SP1 </li></ul>
  29. 32. Dynamic Data
  30. 34. <ul><li>Windows Presentation Foundation na web. </li></ul><ul><li>Novas interfaces baseadas em “ZEMMEL” XAML (eXtensible Application Markup Language). </li></ul><ul><li>Integrar as interfaces vetoriais baseadas em WPF na web além de áudio e vídeo de alta resolução padrão HD-TV. </li></ul><ul><li>Utiliza código .NET </li></ul><ul><li>Otimizado para SEO ( Seach Engine Optimization ). </li></ul>
  31. 35. ASP.NET e IIS 7.0 <ul><li>ASP.NET Modes: </li></ul><ul><ul><li>ISAPI mode (compat) </li></ul></ul><ul><ul><li>Integrated mode </li></ul></ul><ul><ul><ul><li>ASP.NET HttpModules integrando diretamente ao servidor </li></ul></ul></ul><ul><ul><ul><li>HttpModules ou Global.asax dispara eventos em qualquer requisição. </li></ul></ul></ul><ul><ul><ul><li>Utilize VB and C# para customizar e extender o IIS 7. </li></ul></ul></ul>PHP roda mais rápido no IIS 7.0
  32. 36. Explore recursos do ASP.NET no PHP <ul><li>Cache </li></ul><ul><li>Segurança </li></ul><ul><li>E muito mais... </li></ul>
  33. 37. Integrando novo modulo no IIS 7.0
  34. 38. Ramon Durães http://www.ramonduraes.net Cartão de visita
  35. 39. © 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

×