Novidades do .NET Framework 4.5
              Trilha .NET

        Rogério Moraes de Carvalho
               VITA Informática
                  @rogeriomc
           rogeriomc.wordpress.com
                                     Globalcode – Open4education
Agenda
 O .NET Framework
 .NET Framework: Versões
 Linguagem C#: Versões
 Suporte a async & await
 Biblioteca de classes portátil
 .NET para Windows Store Apps
 Entity Framework 5



                                  Globalcode – Open4education
Agenda
 ASP.NET Web Forms 4.5
 ASP.NET MVC 4
 Windows Communication Foundation (WCF) 4.5
 Windows Presentation Foundation (WPF) 4.5
 Windows Workflow Foundation (WF) 4.5
 Melhorias na Base Class Library
 Links úteis



                                    Globalcode – Open4education
O .NET Framework


 Entity
Frame-
            ASP.
                      WCF     WF       WPF
                                              Windows              …
            NET                                Forms
 work


                                                 APIs de
   Base Class Libraries
                            CLR          Profiling & Debugging

  JIT &        Garbage      Security    Exception      Loader &
  NGEN         Collector     Model      Handling        Binder


                                                    Globalcode – Open4education
.NET Framework: Versões
 .NET Framework 4.5 – Versão mais recente
   Integrado ao Windows 8 e ao Windows Server 2012
   Atualização para Windows Vista SP2, Windows 7 SP1,
   Windows Server 2008 SP2 e Windows Server 2008 R2 SP1

                            3.5
                            3.0         4.5
 .NET 1.0    .NET 1.1    .NET 2.0    .NET 4.0

  VS 2002     VS 2003     VS 2005     VS 2010
                          VS 2008     VS 2012

  CLR 1.0     CLR 1.1     CLR 2.0     CLR 4.0
                                          Globalcode – Open4education
Linguagem C#: Versões
                    C# 5          Windows Runtime (WinRT),
                 (Ago 2012)       programação assíncrona, ...
                              Objetos tipados dinamicamente,
                 C# 4         parâmetros opcionais e nomeados,
              (Mar 2010)      covariância e contravariância, …
                           Language Integrated Query (LINQ),
           C# 3.0          expressões Lambda, métodos de
         (Nov 2007)        extensão, tipos anônimos, ...
                      Generics, Iterators, tipos parciais,
     C# 2.0
                      tipos anuláveis, classes estáticas,
    (Nov 2005)        métodos anônimos, ...
                 Código gerenciado, linguagem POO,
  C# 1.0
                 suporte nativo a propriedades e
 (Fev 2002)      eventos, exceções, delegates, ...
                                                             Globalcode – Open4education
Suporte a async & await
 O suporte a funções assíncronas foi incorporado à
 linguagem C# 5
   Novas palavras-chaves: async e await
 A palavra-chave await é usada para marcar
 chamadas assíncronas
   Dispensa a criação de funções de callback
 A palavra-chave async deve estar na assinatura
 de funções que fazem chamadas assíncronas
   await somente pode ser usada na chamada de
   funções com async na assinatura


                                          Globalcode – Open4education
Biblioteca de classes
portátil
 Permite criar código reutilizável em uma variedade
 de diferentes dispositivos e plataformas
   Smartphones (Windows Phone)
   Tablets (Windows RT)
   Computadores desktop, notebooks, netbooks e
   ultrabooks (Windows 8 e Silverlight)
   Consoles de entreterimento (Xbox 360)
 Novo projeto no Visual Studio 2012
   Portable Class Library



                                           Globalcode – Open4education
.NET para
Windows Store apps
 Subconjunto dos tipos gerenciados do
 .NET Framework 4.5
   Para criação de Windows Store apps com C# ou Visual
   Basic
   Usados com os tipos do Windows Runtime
     Tipos gerenciados: namespace começa com System
     Tipos do Windows Runtime: namespace começa com Windows
 Windows Runtime (WinRT)
   API numa arquitetura para múltiplas plataformas
     Suporte a arquiteturas x86 e ARM
     Ambiente fechado (sandbox) para segurança e estabilidade

                                                   Globalcode – Open4education
Entity Framework 5
 Propriedades Enum em classes de entidades
 Suporte a funções Table-Valued
 Múltiplos diagramas por modelo
 Tipos de dados espaciais (DbGeography e DbGeomerty)
 Melhorias de desempenho
   Compilação automática de consultas LINQ to Entities
   Aumento no desempenho de 67% em relação ao EF 4.0
 Code First
   Detecta LocalDb ou SQL Server Express
   Adiciona tabelas a bancos de dados existentes
                                             Globalcode – Open4education
ASP.NET Web Forms 4.5
 Controles de dados fortemente tipados
   <asp:TextBox ID="TextBoxNome" runat="server“
   Text='<%# Bind("Nome") %>' />
   <asp:TextBox ID="TextBoxNome" runat="server“
   Text='<%# BindItem.Nome %>' />
 Vinculação a modelo
   Extensão da vinculação de dados em controles
   ASP.NET para acesso a dados focado em código
 Expressões de vinculação de dados codificada
 diretamente no HTML
   <%#: Item.Livros.Titulo %>


                                          Globalcode – Open4education
ASP.NET Web Forms 4.5
 Validação JavaScript não obstrucionista
   Configurável nos controles de validação
   Reduz de forma significativa a quantidade de código
   JavaScript definido inline na página
   Definição global no elemento <appSettings>
     <add
     name="ValidationSettings:UnobtrusiveValidationMode"
     value="WebForms" />
   Definição numa página
     Propriedade Page.UnobtrusiveValidationMode




                                                  Globalcode – Open4education
ASP.NET Web Forms 4.5
 Atualizações no suporte a HTML5
   Atualização do TextBox.TextMode: Email, DateTime, ...
   Controle FileUpload com suporte a múltiplos uploads
   em browsers que suportam este recurso do HTML5
   Controles de validação suportam validação de
   elementos de entrada do HTML5
   Suporte a runat="server" em novos elementos HTML5
     <video runat="server" src="~/Clip.mp4" />
   Controle UpdatePanel suporta o envio de novos
   campos de entrada HTML5


                                             Globalcode – Open4education
ASP.NET MVC 4
 ASP.NET Web API
   Novo framework para criação de serviços HTTP
   Ideal para construir serviços RESTful
 Melhorias nos modelos de projeto
   Modelos de sites com um visual mais moderno
   Inclusão de elementos HTML5 nas Views
 Modelo de Projeto Empty realmente vazio
   A versão de modelo Empty anterior foi renomeada para
   Basic
 Novo modelo de projeto para dispositivos móveis
   Projeto Mobile Application
                                            Globalcode – Open4education
ASP.NET MVC 4
 Suporte ao Entity Framework 5
   Database Migrations e outras novidades do EF 5
 Azure SDK
   Suporte à versão 1.6 ou superior do Windows Azure
   SDK
 Suporte a controladores assíncronos
   Métodos de ação podem ser assíncronos retornando um
   objeto Task ou Task<ActionResult>
 Suporte a aplicações móveis com jQuery Mobile


                                            Globalcode – Open4education
Windows Communication
Foundation (WCF) 4.5
 Melhorias na configuração
   Tooltips, Intellisense e validação em tempo de
   compilação nos arquivos de configuração (VS 2012)
   Geração de arquivos de configuração do cliente limpos
     Somente configurações não padrão são geradas
 Suporte a WebSocket para serviços baseados em
 WCF (somente no Windows 8)
   Novos Bindings
     NetHttpBinding and NetHttpsBinding
 Novo UDPBinding para transporte UDP
   Envio de requisição sem espera de resposta
                                                    Globalcode – Open4education
Windows Communication
Foundation (WCF) 4.5
 WSDL tipicamente gerados por um serviço WCF




   Referência a arquivos adicionais (diretivas de importação)
 O WCF 4.5 suporta geração de um único WSDL




                                               Globalcode – Open4education
Windows Presentation
Foundation (WPF) 4.5
 Controle Ribbon




 Desempenho melhorado para apresentar grande
 quantidade de dados
 Melhorias no MVVM
 Melhorias no designer do VS 2012
                                    Globalcode – Open4education
Windows Workflow
Foundation (WF) 4.5
 Versionamento
 Serviços
 Contract First
 Expressões C#
 Máquinas de estado
 Desempenho em
 tempo de execução
 Melhorias no
 Designer do VS

                      Globalcode – Open4education
Melhorias na Base Class
Library
 Suporte a arrays com mais de 2 GB em
 plataformas de 64-bit
   Pode ser habilitado no arquivo de configuração
     Novo elemento
     <gcAllowVeryLargeObjects enabled="true|false" />

 Melhor desempenho por meio do Background
 Garbage Collection para servidores
   Habilitado por padrão no .NET Framework 4.5
 Background Just-In-Time (JIT)
   Disponível para processadores multi-core

                                              Globalcode – Open4education
Melhorias na Base Class
Library
 Habilidade de limitar o tempo para resolver uma
 expressão regular
   Nova propriedade:
   Regex.MatchTimeout
 Possibilidade de definir uma cultura padrão para
 threads no domínio de aplicação atual
   Nova propriedade:
   CultureInfo.DefaultThreadCurrentCulture
 Suporte a codificação UTF-16 em aplicações
 Console (Classe Console)

                                             Globalcode – Open4education
Melhorias na Base Class
Library
 Melhor desempenho na recuperação de recursos
   .NET Framework Resource Manager, representado pela
   classe ResourceManager, para recuperar recursos
   localizados
 Redução no tamanho de arquivos comprimidos
 com Zip
   Tipos do namespace System.IO.Compression
 Delegação da comparação de strings para o
 sistema operacional
   Unicode 6.0 no Windows 8
   Unicode 5.x em outras plataformas
                                          Globalcode – Open4education
Links úteis
 MSDN Library
   What's New in the .NET Framework 4.5
 Download Center
   Microsoft .NET Framework 4.5




                                          Globalcode – Open4education

TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5

  • 1.
    Novidades do .NETFramework 4.5 Trilha .NET Rogério Moraes de Carvalho VITA Informática @rogeriomc rogeriomc.wordpress.com Globalcode – Open4education
  • 2.
    Agenda O .NETFramework .NET Framework: Versões Linguagem C#: Versões Suporte a async & await Biblioteca de classes portátil .NET para Windows Store Apps Entity Framework 5 Globalcode – Open4education
  • 3.
    Agenda ASP.NET WebForms 4.5 ASP.NET MVC 4 Windows Communication Foundation (WCF) 4.5 Windows Presentation Foundation (WPF) 4.5 Windows Workflow Foundation (WF) 4.5 Melhorias na Base Class Library Links úteis Globalcode – Open4education
  • 4.
    O .NET Framework Entity Frame- ASP. WCF WF WPF Windows … NET Forms work APIs de Base Class Libraries CLR Profiling & Debugging JIT & Garbage Security Exception Loader & NGEN Collector Model Handling Binder Globalcode – Open4education
  • 5.
    .NET Framework: Versões .NET Framework 4.5 – Versão mais recente Integrado ao Windows 8 e ao Windows Server 2012 Atualização para Windows Vista SP2, Windows 7 SP1, Windows Server 2008 SP2 e Windows Server 2008 R2 SP1 3.5 3.0 4.5 .NET 1.0 .NET 1.1 .NET 2.0 .NET 4.0 VS 2002 VS 2003 VS 2005 VS 2010 VS 2008 VS 2012 CLR 1.0 CLR 1.1 CLR 2.0 CLR 4.0 Globalcode – Open4education
  • 6.
    Linguagem C#: Versões C# 5 Windows Runtime (WinRT), (Ago 2012) programação assíncrona, ... Objetos tipados dinamicamente, C# 4 parâmetros opcionais e nomeados, (Mar 2010) covariância e contravariância, … Language Integrated Query (LINQ), C# 3.0 expressões Lambda, métodos de (Nov 2007) extensão, tipos anônimos, ... Generics, Iterators, tipos parciais, C# 2.0 tipos anuláveis, classes estáticas, (Nov 2005) métodos anônimos, ... Código gerenciado, linguagem POO, C# 1.0 suporte nativo a propriedades e (Fev 2002) eventos, exceções, delegates, ... Globalcode – Open4education
  • 7.
    Suporte a async& await O suporte a funções assíncronas foi incorporado à linguagem C# 5 Novas palavras-chaves: async e await A palavra-chave await é usada para marcar chamadas assíncronas Dispensa a criação de funções de callback A palavra-chave async deve estar na assinatura de funções que fazem chamadas assíncronas await somente pode ser usada na chamada de funções com async na assinatura Globalcode – Open4education
  • 8.
    Biblioteca de classes portátil Permite criar código reutilizável em uma variedade de diferentes dispositivos e plataformas Smartphones (Windows Phone) Tablets (Windows RT) Computadores desktop, notebooks, netbooks e ultrabooks (Windows 8 e Silverlight) Consoles de entreterimento (Xbox 360) Novo projeto no Visual Studio 2012 Portable Class Library Globalcode – Open4education
  • 9.
    .NET para Windows Storeapps Subconjunto dos tipos gerenciados do .NET Framework 4.5 Para criação de Windows Store apps com C# ou Visual Basic Usados com os tipos do Windows Runtime Tipos gerenciados: namespace começa com System Tipos do Windows Runtime: namespace começa com Windows Windows Runtime (WinRT) API numa arquitetura para múltiplas plataformas Suporte a arquiteturas x86 e ARM Ambiente fechado (sandbox) para segurança e estabilidade Globalcode – Open4education
  • 10.
    Entity Framework 5 Propriedades Enum em classes de entidades Suporte a funções Table-Valued Múltiplos diagramas por modelo Tipos de dados espaciais (DbGeography e DbGeomerty) Melhorias de desempenho Compilação automática de consultas LINQ to Entities Aumento no desempenho de 67% em relação ao EF 4.0 Code First Detecta LocalDb ou SQL Server Express Adiciona tabelas a bancos de dados existentes Globalcode – Open4education
  • 11.
    ASP.NET Web Forms4.5 Controles de dados fortemente tipados <asp:TextBox ID="TextBoxNome" runat="server“ Text='<%# Bind("Nome") %>' /> <asp:TextBox ID="TextBoxNome" runat="server“ Text='<%# BindItem.Nome %>' /> Vinculação a modelo Extensão da vinculação de dados em controles ASP.NET para acesso a dados focado em código Expressões de vinculação de dados codificada diretamente no HTML <%#: Item.Livros.Titulo %> Globalcode – Open4education
  • 12.
    ASP.NET Web Forms4.5 Validação JavaScript não obstrucionista Configurável nos controles de validação Reduz de forma significativa a quantidade de código JavaScript definido inline na página Definição global no elemento <appSettings> <add name="ValidationSettings:UnobtrusiveValidationMode" value="WebForms" /> Definição numa página Propriedade Page.UnobtrusiveValidationMode Globalcode – Open4education
  • 13.
    ASP.NET Web Forms4.5 Atualizações no suporte a HTML5 Atualização do TextBox.TextMode: Email, DateTime, ... Controle FileUpload com suporte a múltiplos uploads em browsers que suportam este recurso do HTML5 Controles de validação suportam validação de elementos de entrada do HTML5 Suporte a runat="server" em novos elementos HTML5 <video runat="server" src="~/Clip.mp4" /> Controle UpdatePanel suporta o envio de novos campos de entrada HTML5 Globalcode – Open4education
  • 14.
    ASP.NET MVC 4 ASP.NET Web API Novo framework para criação de serviços HTTP Ideal para construir serviços RESTful Melhorias nos modelos de projeto Modelos de sites com um visual mais moderno Inclusão de elementos HTML5 nas Views Modelo de Projeto Empty realmente vazio A versão de modelo Empty anterior foi renomeada para Basic Novo modelo de projeto para dispositivos móveis Projeto Mobile Application Globalcode – Open4education
  • 15.
    ASP.NET MVC 4 Suporte ao Entity Framework 5 Database Migrations e outras novidades do EF 5 Azure SDK Suporte à versão 1.6 ou superior do Windows Azure SDK Suporte a controladores assíncronos Métodos de ação podem ser assíncronos retornando um objeto Task ou Task<ActionResult> Suporte a aplicações móveis com jQuery Mobile Globalcode – Open4education
  • 16.
    Windows Communication Foundation (WCF)4.5 Melhorias na configuração Tooltips, Intellisense e validação em tempo de compilação nos arquivos de configuração (VS 2012) Geração de arquivos de configuração do cliente limpos Somente configurações não padrão são geradas Suporte a WebSocket para serviços baseados em WCF (somente no Windows 8) Novos Bindings NetHttpBinding and NetHttpsBinding Novo UDPBinding para transporte UDP Envio de requisição sem espera de resposta Globalcode – Open4education
  • 17.
    Windows Communication Foundation (WCF)4.5 WSDL tipicamente gerados por um serviço WCF Referência a arquivos adicionais (diretivas de importação) O WCF 4.5 suporta geração de um único WSDL Globalcode – Open4education
  • 18.
    Windows Presentation Foundation (WPF)4.5 Controle Ribbon Desempenho melhorado para apresentar grande quantidade de dados Melhorias no MVVM Melhorias no designer do VS 2012 Globalcode – Open4education
  • 19.
    Windows Workflow Foundation (WF)4.5 Versionamento Serviços Contract First Expressões C# Máquinas de estado Desempenho em tempo de execução Melhorias no Designer do VS Globalcode – Open4education
  • 20.
    Melhorias na BaseClass Library Suporte a arrays com mais de 2 GB em plataformas de 64-bit Pode ser habilitado no arquivo de configuração Novo elemento <gcAllowVeryLargeObjects enabled="true|false" /> Melhor desempenho por meio do Background Garbage Collection para servidores Habilitado por padrão no .NET Framework 4.5 Background Just-In-Time (JIT) Disponível para processadores multi-core Globalcode – Open4education
  • 21.
    Melhorias na BaseClass Library Habilidade de limitar o tempo para resolver uma expressão regular Nova propriedade: Regex.MatchTimeout Possibilidade de definir uma cultura padrão para threads no domínio de aplicação atual Nova propriedade: CultureInfo.DefaultThreadCurrentCulture Suporte a codificação UTF-16 em aplicações Console (Classe Console) Globalcode – Open4education
  • 22.
    Melhorias na BaseClass Library Melhor desempenho na recuperação de recursos .NET Framework Resource Manager, representado pela classe ResourceManager, para recuperar recursos localizados Redução no tamanho de arquivos comprimidos com Zip Tipos do namespace System.IO.Compression Delegação da comparação de strings para o sistema operacional Unicode 6.0 no Windows 8 Unicode 5.x em outras plataformas Globalcode – Open4education
  • 23.
    Links úteis MSDNLibrary What's New in the .NET Framework 4.5 Download Center Microsoft .NET Framework 4.5 Globalcode – Open4education