Globalcode – Open4education
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
Base Class Libraries CLR
Entity
Frame-
work
ASP.
NET WCF
… Windows
Forms WF WPF
APIs de
Profiling & Debugging
JIT &
NGEN
Garbage
Collector
Security
Model
Exception
Handling
Loader &
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
CLR 1.0 CLR 1.1 CLR 2.0 CLR 4.0
VS 2002 VS 2003 VS 2005
VS 2008
VS 2010
VS 2012
.NET 1.0 .NET 1.1 .NET 2.0 .NET 4.0
3.0
3.5
4.5
Globalcode – Open4education
C# 3.0
(Nov 2007)
Código gerenciado, linguagem POO,
suporte nativo a propriedades e
eventos, exceções, delegates, ...
Generics, Iterators, tipos parciais,
tipos anuláveis, classes estáticas,
métodos anônimos, ...
Language Integrated Query (LINQ),
expressões Lambda, métodos de
extensão, tipos anônimos, ...
C# 4
(Mar 2010)
Objetos tipados dinamicamente,
parâmetros opcionais e nomeados,
covariância e contravariância, …
C# 5
(Ago 2012)
Windows Runtime (WinRT),
programação assíncrona, ...
Linguagem C#: Versões
C# 1.0
(Fev 2002)
C# 2.0
(Nov 2005)
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