SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
SETEMBRO, 2010 | SÃO PAULO
CÓDIGO DA SESSÃO: DEV401




  Novos recursos do Microsoft Visual
  Basic 2010
   Alexandre Tarifa
   Desenvolvedor .NET
   Microsoft MVP, MCP, MCAD, MCTS e MCT
   Site: http://www.alexandretarifa.com.br
   E-mail: alexandre@alexandretarifa.com.br
   @alexandretarifa
Agenda
    Evolução e direcionamento
    Migração
    Evolução da linguagem
    Novidades do Visual Basic 10




4
Co-Evolution - VB.Net e C#

    Nova linguagem/compilador - novos recursos
    serão desenvolvidos simultaneamente;

    Quando o time de VB .NET desenvolver um novo
    recurso, as duas linguagens receberão este
    recurso e vice-versa.




5
Direção

    Anders Hejlsberg - Direciona a evolução do
    VB.NET e do C#
    No TechEd nos Estados Unidos foi o
    apresentador das palestras: Futuro do VB.Net e
    Futuro do C#.




6
Twitter




7
Migração

    Qual a melhor estratégia de migração?
      Pontos
        Tipo de aplicação
        Linguagem
        Manipulação de dados
        Complexidade do código
        Migrar toda aplicação? (Interop Forms Toolkit)
           http://msdn.microsoft.com/en-
           us/vbasic/bb419144.aspx




8
Migração
    http://msdn.microsoft.com/en-
    us/vbasic/ff793478.aspx




9
Migração e evolução

     Linguagem
           VB -> Visual Basic .Net
     Aplicação desktop
           Visual Basic 6 -> Windows forms ou WPF
     Aplicação Web
           VB Script -> ASP.NET
     RIA
           XXX -> Silverlight
     Mobile
           XXX -> Windows Mobile ou Windows Phone
     Serviços
           COM+/MTS -> Web Service, Enterprise Services ou WCF
     Aplicações de negócio
10
           XXX -> Visual Studio Lightswitch
Mitos da linguagem

     POO
     Mais elegante
     Mais performance
     Mais poderoso
     A Microsoft vai acabar com o VB
     VB é para iniciantes
     C# é mais difícil
     ....

11
Evolução




           http://reflector.red-gate.com/
12
Visual Basic 10 – Novos recursos
produtividade e qualidade
• Objetivo de fazer mais com menos linhas de
  código;
• A qualidade x produtividade na quantidade de
  digitação foi um dos focos da nova versão;
• Alinhar e igualar as features do C# e evoluir a
  linguagem.




13
Visual Basic 10 – Implicit Line Continuation

     O caractere underscore “_” é usado no Visual
     Basic para indicar que a linha corrente será
     quebrada em outra linha. O VB 10 remove este
     requisito para a quebra de linha.




14
Visual Basic 10 – Implicit Line Continuation
     O caractere é implicito nas situações seguintes:
                                                                  Antes de   Depois de
 , (vírgula). (ponto), > (atributos) ({(abre colchetes), < % =                  X
 (começar a expressão (XML literais))
 ),},] (ao fechar), %> (fechar expressão)                            X
 Todas as chaves do LINQ (Aggregate, Distinct, From, Group
 By, Group Join, Join, Let, Order By, Select, Skip, Skip While,      X          X
 Take, Take While, Where, In, Into, On, Ascending,
 Descending)
 Operadores (+ , - , * , / ,  , ^ , >> , << , Mod, & , +=
 , -= , *= , /= , = , ^= , >>= , <<= , &= , < , <= , >                         X
 , >= , <> , Is, IsNot, Like, And, Or, Xor, AndAlso, OrElse)
 With (inicializador de objetos)                                                X


15
Implicit Line Continuation




16
Visual Basic 10 – Auto Implemented
Properties

• Para criar uma entidade de classe simples ou
  containers para dados, podemos utilizar a
  seguinte estrutura:




17
Visual Basic 10 – Auto Implemented
Properties

     Auto-implemented properties oferece uma
     sintaxe simples com apenas uma linha:




     O compilador gera um atributo com o mesmo
     nome que a propriedade com _ como
     prefixo.
18
Visual Basic 10 – Auto Implemented
Properties
     Pode ser usado com valores default.




     Auto-implemented properties não pode ter
     parametros e não podem ser declarados como
     ReadyOnly ou WriteOnly.


19
Auto Implemented Properties




20
Visual Basic 10 – Collection Initializer

     Inicializador de coleções oferece um forma de
     inicializar uma coleção tipada e uma série de valores
     através de uma expressão simples:


     Cada elemento após o a chave “From” atribui os
     valores como se fosse o método Add.




21
Collection Initializer




22
Visual Basic 10 – Lambda

• As Lambda Expressions são funções anônimas que
  podem conter expressões e declarações, e que podem
  ser usadas para criar expressões ou Delegates.
• No VB 2008, a palavra chave é function, limitando a
  trabalhar sempre com expressões que retornam um
  valor.
• Podemos trabalhar agora também com Sub,
  permitindo expressões que não retornam um valor.
• Também podemos trabalhar com multiplas linhas,
  permitindo um desenvolvimento de funções ou
  expressões mais complexas
23
Lambda




24
Visual Basic 10 – ArrayLiterals


     ArrayLiterals oferece uma sintaxe compacta para
     declaração de um array com inferência do tipo
     pelo compilador.
     ArrayLiteral aninhados podem ser utilizados
     para a produção de arrays multi dimensionais.




25
ArrayLiterals




26
Visual Basic 10 – Melhorias em parâmetros
opcionais

• A utilização de parâmetros opcionais já é bem
  popular no Visual Basic, onde podemos criar um
  parâmetro e já atribuir um valor default e
  mesmo que na chamada este valor não seja
  informado, o compilador atribui o valor
  desejado;
• No Visual Basic 10 podemos atribuir parâmetro
  com valor default nulo.

27
Melhorias em parâmetros
opcionais




28
Visual Basic 10 – Dynamic Support

• O .Net Framework 4 introduz suporte para utilização de
  objetos de linguagens dinâmicas, como IronPython ou
  IronRuby, e a criação de objeto dinâmicos, dentro da
  própria linguagem (VB ou C#). Isto torna possível a
  inclusão de métodos dinâmicos em linguagens
  estáticas, como são o VB.NET ou C#, através da
  Dynamic Language Runtime (DLR).




29
Visual Basic 10 – Dynamic Support

     Nenhuma linha de código foi modificada no compilador
     para oferecer suporte a esse recurso. Ainda podemos
     trabalhar com Late-bound da mesma maneira que nas
     versões anteriores do Visual Basic.
     O que mudou é o código no Visual Basic Runtime
     (Microsoft.VisualBasic.dll), reconhece a interface
     IDynamicMetaObjectProvider que fornece o DLR.
      Se um objeto implementa essa interface, o tempo de
     execução do Visual Basic irá construir uma chamada
     DLR e o objeto e sua linguagem vai injetar a sua
     execução dinamicamente.

30
Visual Basic 10 – Dynamic Support

     Por exemplo, as bibliotecas padrão do Python contém
     um arquivo chamado random.py com um método
     chamado shuffle que pode ser usada para reorganizar
     os elementos em uma matriz aleatoriamente.




31
Visual Basic 10 – Dynamic Support

     Em tempo de execução, o Visual Basic vê que o
     objeto implementa
     IDynamicMetaObjectProvider e, portanto, passa
     o controle para o DLR, que se comunica com o
     Python e executa o método (passando junto a
     matriz que foi definida no Visual Basic como um
     argumento para o método)




32
Dynamic Support




33
Embed Interop Types

     COM Interop, Object Model Primary Assemblies (PIAs)
     necessitam ser distribuidos para a máquina dos usuários
     causando problemas de versionamento, dependencia e
     problemas que já estamos acostumados.
     O Visual Basic 2010 permite que as aplicações executem sem
     requerer que as PIAs exista na máquina do cliente, através da
     geração de tipos que serão responsáveis pela realização das
     chamadas de interoperabilidade para a biblioteca COM.
     Estes tipos são inferidos pelo compilador, para que o Common
     Language Runtime (CLR) pode identificá-los através de
     assemblies, e apenas os tipos de PIA que são absolutamente
     necessários serão copiados.


34
Embed Interop Types




     Por default esta opção já
     está ativa para novos
     projetos, mas em projetos
     legado basta alterar a
     propriedade da referência.




35
Multi targeting

     Praticamente todos os recursos do Visual Basic 2010 poderão
     ser utilizados em projetos do .NET Framework 2.0 ou.NET
     Framework 3.5 utilizando o Visual Studio 2010.
     Isso significa que todos os recursos apresentados, funcionarão
     em projetos existentes sem a necessidade de
     redirecionamento para o .NET Framework 4.
     A única exceção são os Embed Interop Types que tenha uma
     dependência em tipos que utilizem recursos do .NET
     Framework 4.




36
Multi targeting




37
Visual Studio LightSwitch

     Projeto iniciado pelo time de Visual Basic
     Permite a criação de aplicações de negócio e
     banco de dados com muita facilidade




38
Visual Studio LightSwitch




39
Referências

 Msdn.com/vbasic


 Blog: vbtuga.blogspot.com


 Interop http://msdn.microsoft.com/en-us/vbasic/bb419144.aspx


 http://www.alexandretarifa.com.br




40
Conteúdo relacionado

 DEV306 | Um mergulho no ADO.NET Entity Framework 4
 Data: 15/09 Horário: 09:00 - 10:15

 DEV201 | Novidades e razoes para migrar para o Microsoft .Net
 Framework 4 - Data: 14/09 Horário: 09:00 - 10:15

 DEV303 | Paralelismo no .Net 4.0: Patterns, dicas e truques
 Data: 15/09 Horário: 15:30 - 16:45

 DEV307 | Aproveitando ao máximo as ferramentas do Visual Studio 2010
 para Silverlight e WPF - Data: 15/09 Horário: 17:15 - 18:30




41
42
© 2008 Microsoft Corporation. Todos os direitos reservados. Microsoft, Windows, Windows Vista e outros nomes de produtos são ou podem ser marcas registradas e/ou marcas comerciais nos EUA e/ou outros países.
 Este documento é meramente informativo e representa a visão atual da Microsoft Corporation a partir da data desta apresentação. Como a Microsoft deve atender a condições de mercado em constante alteração, este
documento não deve ser interpretado como um compromisso por parte da Microsoft, e a Microsoft não pode garantir a precisão de qualquer informação fornecida após a data desta apresentação. A MICROSOFT NÃO DÁ
                                            QUALQUER GARANTIA, SEJA ELA EXPRESSA, IMPLÍCITA OU ESTATUTÁRIA, REFERENTE ÀS INFORMAÇÕES DESTA APRESENTAÇÃO.
Por favor preencha a
avaliação

Mais conteúdo relacionado

Mais procurados

TDC 2012 Goiânia: Trilha Windows Phone / Windows 8 - Desenvolvimento de apps ...
TDC 2012 Goiânia: Trilha Windows Phone / Windows 8 - Desenvolvimento de apps ...TDC 2012 Goiânia: Trilha Windows Phone / Windows 8 - Desenvolvimento de apps ...
TDC 2012 Goiânia: Trilha Windows Phone / Windows 8 - Desenvolvimento de apps ...Rogério Moraes de Carvalho
 
Microsoft Community Launch 2010: .NET Framework 4
Microsoft Community Launch 2010: .NET Framework 4Microsoft Community Launch 2010: .NET Framework 4
Microsoft Community Launch 2010: .NET Framework 4Rogério Moraes de Carvalho
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5
TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5
TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5Rogério Moraes de Carvalho
 
Desenvolvendo para web ASP.Net (Overview para iniciantes)
Desenvolvendo para web ASP.Net (Overview para iniciantes)Desenvolvendo para web ASP.Net (Overview para iniciantes)
Desenvolvendo para web ASP.Net (Overview para iniciantes)Fernando Gonçalves
 
Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Laís Vidal
 
TechEd Brasil 2010 - Dicas, truques do Visual Studio 2010 e novas funcionalid...
TechEd Brasil 2010 - Dicas, truques do Visual Studio 2010 e novas funcionalid...TechEd Brasil 2010 - Dicas, truques do Visual Studio 2010 e novas funcionalid...
TechEd Brasil 2010 - Dicas, truques do Visual Studio 2010 e novas funcionalid...JP Clementi
 
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...Rogério Moraes de Carvalho
 
Explorando o novo .NET multiplataforma: ASP.NET Core, .NET Core e EF Core
Explorando o novo .NET multiplataforma:ASP.NET Core, .NET Core e EF CoreExplorando o novo .NET multiplataforma:ASP.NET Core, .NET Core e EF Core
Explorando o novo .NET multiplataforma: ASP.NET Core, .NET Core e EF CoreRogério Moraes de Carvalho
 
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015Rogério Moraes de Carvalho
 
Mini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLMini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLtarginosilveira
 
Visual basic apostila up vb6 para vbnet
Visual basic   apostila up vb6 para vbnetVisual basic   apostila up vb6 para vbnet
Visual basic apostila up vb6 para vbnetrobinhoct
 
Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”
Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”
Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”Rogério Moraes de Carvalho
 
Apostila delphi rad studio 2007
Apostila delphi   rad studio 2007Apostila delphi   rad studio 2007
Apostila delphi rad studio 2007Guilherme Bruno
 
Fundamentos do .NET Framework - Parte 1
Fundamentos do .NET Framework - Parte 1Fundamentos do .NET Framework - Parte 1
Fundamentos do .NET Framework - Parte 1Julian Correa
 

Mais procurados (20)

TDC 2012 Goiânia: Trilha Windows Phone / Windows 8 - Desenvolvimento de apps ...
TDC 2012 Goiânia: Trilha Windows Phone / Windows 8 - Desenvolvimento de apps ...TDC 2012 Goiânia: Trilha Windows Phone / Windows 8 - Desenvolvimento de apps ...
TDC 2012 Goiânia: Trilha Windows Phone / Windows 8 - Desenvolvimento de apps ...
 
Microsoft Community Launch 2010: .NET Framework 4
Microsoft Community Launch 2010: .NET Framework 4Microsoft Community Launch 2010: .NET Framework 4
Microsoft Community Launch 2010: .NET Framework 4
 
Educação e certificação na Plataforma .NET
Educação e certificação na Plataforma .NETEducação e certificação na Plataforma .NET
Educação e certificação na Plataforma .NET
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5
TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5
TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5
 
Desenvolvendo para web ASP.Net (Overview para iniciantes)
Desenvolvendo para web ASP.Net (Overview para iniciantes)Desenvolvendo para web ASP.Net (Overview para iniciantes)
Desenvolvendo para web ASP.Net (Overview para iniciantes)
 
PHP versus Java
PHP versus JavaPHP versus Java
PHP versus Java
 
Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012
 
TechEd Brasil 2010 - Dicas, truques do Visual Studio 2010 e novas funcionalid...
TechEd Brasil 2010 - Dicas, truques do Visual Studio 2010 e novas funcionalid...TechEd Brasil 2010 - Dicas, truques do Visual Studio 2010 e novas funcionalid...
TechEd Brasil 2010 - Dicas, truques do Visual Studio 2010 e novas funcionalid...
 
Linguagem Delphi-Introdução
Linguagem Delphi-IntroduçãoLinguagem Delphi-Introdução
Linguagem Delphi-Introdução
 
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
 
Explorando o novo .NET multiplataforma: ASP.NET Core, .NET Core e EF Core
Explorando o novo .NET multiplataforma:ASP.NET Core, .NET Core e EF CoreExplorando o novo .NET multiplataforma:ASP.NET Core, .NET Core e EF Core
Explorando o novo .NET multiplataforma: ASP.NET Core, .NET Core e EF Core
 
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
 
Mini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLMini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOL
 
Visual basic apostila up vb6 para vbnet
Visual basic   apostila up vb6 para vbnetVisual basic   apostila up vb6 para vbnet
Visual basic apostila up vb6 para vbnet
 
Csharp
CsharpCsharp
Csharp
 
Oo delphi
Oo delphiOo delphi
Oo delphi
 
Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”
Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”
Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”
 
Apostila delphi rad studio 2007
Apostila delphi   rad studio 2007Apostila delphi   rad studio 2007
Apostila delphi rad studio 2007
 
Fundamentos do .NET Framework - Parte 1
Fundamentos do .NET Framework - Parte 1Fundamentos do .NET Framework - Parte 1
Fundamentos do .NET Framework - Parte 1
 

Semelhante a Dev401 novos recursos do microsoft visual basic 2010

ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010Norton Guimarães
 
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Ramon Durães
 
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvemASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvemRogério Moraes de Carvalho
 
T@rget trust c# 4.0 - fundamentos da linguagem
T@rget trust   c# 4.0 - fundamentos da linguagemT@rget trust   c# 4.0 - fundamentos da linguagem
T@rget trust c# 4.0 - fundamentos da linguagemTargettrust
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosRodolfo Fadino Junior
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicRicardo Guerra Freitas
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioGeovani Ferreira Gonçalves
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1César Augusto Pessôa
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010Rodrigo Kono
 
T@rget trust microsoft asp.net mvc
T@rget trust   microsoft asp.net mvcT@rget trust   microsoft asp.net mvc
T@rget trust microsoft asp.net mvcTargettrust
 
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...tdc-globalcode
 
Interoperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeInteroperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeAlessandro Binhara
 
T@rget trust asp.net
T@rget trust   asp.netT@rget trust   asp.net
T@rget trust asp.netTargettrust
 
Palestra Plataforma .NET na ETEC Marília
Palestra Plataforma .NET na ETEC MaríliaPalestra Plataforma .NET na ETEC Marília
Palestra Plataforma .NET na ETEC MaríliaElvis Fusco
 

Semelhante a Dev401 novos recursos do microsoft visual basic 2010 (20)

ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010
 
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
 
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvemASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
 
T@rget trust c# 4.0 - fundamentos da linguagem
T@rget trust   c# 4.0 - fundamentos da linguagemT@rget trust   c# 4.0 - fundamentos da linguagem
T@rget trust c# 4.0 - fundamentos da linguagem
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual Basic
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual Studio
 
ASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e alémASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e além
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
 
O Futuro do ASP.NET (vNext)
O Futuro do ASP.NET (vNext)O Futuro do ASP.NET (vNext)
O Futuro do ASP.NET (vNext)
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
 
T@rget trust microsoft asp.net mvc
T@rget trust   microsoft asp.net mvcT@rget trust   microsoft asp.net mvc
T@rget trust microsoft asp.net mvc
 
Asp.net core
Asp.net coreAsp.net core
Asp.net core
 
Asp.Net Core - Meetup BH
Asp.Net Core - Meetup BHAsp.Net Core - Meetup BH
Asp.Net Core - Meetup BH
 
Novidades do .Net 4.0
Novidades do .Net 4.0Novidades do .Net 4.0
Novidades do .Net 4.0
 
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
 
Interoperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeInteroperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente Mainframe
 
T@rget trust asp.net
T@rget trust   asp.netT@rget trust   asp.net
T@rget trust asp.net
 
Palestra Plataforma .NET na ETEC Marília
Palestra Plataforma .NET na ETEC MaríliaPalestra Plataforma .NET na ETEC Marília
Palestra Plataforma .NET na ETEC Marília
 

Mais de Alexandre Tarifa

Campus Party - Desenvolvendo aplicações .Net com software gratuito
Campus Party  - Desenvolvendo aplicações .Net com software gratuitoCampus Party  - Desenvolvendo aplicações .Net com software gratuito
Campus Party - Desenvolvendo aplicações .Net com software gratuitoAlexandre Tarifa
 
Campus Party - Desenvolvendo com ASP.NET MVC e jQuery
Campus Party - Desenvolvendo com ASP.NET MVC e jQueryCampus Party - Desenvolvendo com ASP.NET MVC e jQuery
Campus Party - Desenvolvendo com ASP.NET MVC e jQueryAlexandre Tarifa
 
Palestra MVC - Online tech day 2010
Palestra MVC - Online tech day 2010Palestra MVC - Online tech day 2010
Palestra MVC - Online tech day 2010Alexandre Tarifa
 
Comunidade Codificando .Net
Comunidade Codificando .NetComunidade Codificando .Net
Comunidade Codificando .NetAlexandre Tarifa
 

Mais de Alexandre Tarifa (8)

Otimização de tempo
Otimização de tempoOtimização de tempo
Otimização de tempo
 
Otimização de tempo
Otimização de tempoOtimização de tempo
Otimização de tempo
 
Otimização de tempo
Otimização de tempoOtimização de tempo
Otimização de tempo
 
Campus Party - Desenvolvendo aplicações .Net com software gratuito
Campus Party  - Desenvolvendo aplicações .Net com software gratuitoCampus Party  - Desenvolvendo aplicações .Net com software gratuito
Campus Party - Desenvolvendo aplicações .Net com software gratuito
 
Campus Party - Desenvolvendo com ASP.NET MVC e jQuery
Campus Party - Desenvolvendo com ASP.NET MVC e jQueryCampus Party - Desenvolvendo com ASP.NET MVC e jQuery
Campus Party - Desenvolvendo com ASP.NET MVC e jQuery
 
Palestra MVC - Online tech day 2010
Palestra MVC - Online tech day 2010Palestra MVC - Online tech day 2010
Palestra MVC - Online tech day 2010
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Comunidade Codificando .Net
Comunidade Codificando .NetComunidade Codificando .Net
Comunidade Codificando .Net
 

Dev401 novos recursos do microsoft visual basic 2010

  • 1. SETEMBRO, 2010 | SÃO PAULO
  • 2. CÓDIGO DA SESSÃO: DEV401 Novos recursos do Microsoft Visual Basic 2010 Alexandre Tarifa Desenvolvedor .NET Microsoft MVP, MCP, MCAD, MCTS e MCT Site: http://www.alexandretarifa.com.br E-mail: alexandre@alexandretarifa.com.br @alexandretarifa
  • 3. Agenda Evolução e direcionamento Migração Evolução da linguagem Novidades do Visual Basic 10 4
  • 4. Co-Evolution - VB.Net e C# Nova linguagem/compilador - novos recursos serão desenvolvidos simultaneamente; Quando o time de VB .NET desenvolver um novo recurso, as duas linguagens receberão este recurso e vice-versa. 5
  • 5. Direção Anders Hejlsberg - Direciona a evolução do VB.NET e do C# No TechEd nos Estados Unidos foi o apresentador das palestras: Futuro do VB.Net e Futuro do C#. 6
  • 7. Migração Qual a melhor estratégia de migração? Pontos Tipo de aplicação Linguagem Manipulação de dados Complexidade do código Migrar toda aplicação? (Interop Forms Toolkit) http://msdn.microsoft.com/en- us/vbasic/bb419144.aspx 8
  • 8. Migração http://msdn.microsoft.com/en- us/vbasic/ff793478.aspx 9
  • 9. Migração e evolução Linguagem VB -> Visual Basic .Net Aplicação desktop Visual Basic 6 -> Windows forms ou WPF Aplicação Web VB Script -> ASP.NET RIA XXX -> Silverlight Mobile XXX -> Windows Mobile ou Windows Phone Serviços COM+/MTS -> Web Service, Enterprise Services ou WCF Aplicações de negócio 10 XXX -> Visual Studio Lightswitch
  • 10. Mitos da linguagem POO Mais elegante Mais performance Mais poderoso A Microsoft vai acabar com o VB VB é para iniciantes C# é mais difícil .... 11
  • 11. Evolução http://reflector.red-gate.com/ 12
  • 12. Visual Basic 10 – Novos recursos produtividade e qualidade • Objetivo de fazer mais com menos linhas de código; • A qualidade x produtividade na quantidade de digitação foi um dos focos da nova versão; • Alinhar e igualar as features do C# e evoluir a linguagem. 13
  • 13. Visual Basic 10 – Implicit Line Continuation O caractere underscore “_” é usado no Visual Basic para indicar que a linha corrente será quebrada em outra linha. O VB 10 remove este requisito para a quebra de linha. 14
  • 14. Visual Basic 10 – Implicit Line Continuation O caractere é implicito nas situações seguintes: Antes de Depois de , (vírgula). (ponto), > (atributos) ({(abre colchetes), < % = X (começar a expressão (XML literais)) ),},] (ao fechar), %> (fechar expressão) X Todas as chaves do LINQ (Aggregate, Distinct, From, Group By, Group Join, Join, Let, Order By, Select, Skip, Skip While, X X Take, Take While, Where, In, Into, On, Ascending, Descending) Operadores (+ , - , * , / , , ^ , >> , << , Mod, & , += , -= , *= , /= , = , ^= , >>= , <<= , &= , < , <= , > X , >= , <> , Is, IsNot, Like, And, Or, Xor, AndAlso, OrElse) With (inicializador de objetos) X 15
  • 16. Visual Basic 10 – Auto Implemented Properties • Para criar uma entidade de classe simples ou containers para dados, podemos utilizar a seguinte estrutura: 17
  • 17. Visual Basic 10 – Auto Implemented Properties Auto-implemented properties oferece uma sintaxe simples com apenas uma linha: O compilador gera um atributo com o mesmo nome que a propriedade com _ como prefixo. 18
  • 18. Visual Basic 10 – Auto Implemented Properties Pode ser usado com valores default. Auto-implemented properties não pode ter parametros e não podem ser declarados como ReadyOnly ou WriteOnly. 19
  • 20. Visual Basic 10 – Collection Initializer Inicializador de coleções oferece um forma de inicializar uma coleção tipada e uma série de valores através de uma expressão simples: Cada elemento após o a chave “From” atribui os valores como se fosse o método Add. 21
  • 22. Visual Basic 10 – Lambda • As Lambda Expressions são funções anônimas que podem conter expressões e declarações, e que podem ser usadas para criar expressões ou Delegates. • No VB 2008, a palavra chave é function, limitando a trabalhar sempre com expressões que retornam um valor. • Podemos trabalhar agora também com Sub, permitindo expressões que não retornam um valor. • Também podemos trabalhar com multiplas linhas, permitindo um desenvolvimento de funções ou expressões mais complexas 23
  • 24. Visual Basic 10 – ArrayLiterals ArrayLiterals oferece uma sintaxe compacta para declaração de um array com inferência do tipo pelo compilador. ArrayLiteral aninhados podem ser utilizados para a produção de arrays multi dimensionais. 25
  • 26. Visual Basic 10 – Melhorias em parâmetros opcionais • A utilização de parâmetros opcionais já é bem popular no Visual Basic, onde podemos criar um parâmetro e já atribuir um valor default e mesmo que na chamada este valor não seja informado, o compilador atribui o valor desejado; • No Visual Basic 10 podemos atribuir parâmetro com valor default nulo. 27
  • 28. Visual Basic 10 – Dynamic Support • O .Net Framework 4 introduz suporte para utilização de objetos de linguagens dinâmicas, como IronPython ou IronRuby, e a criação de objeto dinâmicos, dentro da própria linguagem (VB ou C#). Isto torna possível a inclusão de métodos dinâmicos em linguagens estáticas, como são o VB.NET ou C#, através da Dynamic Language Runtime (DLR). 29
  • 29. Visual Basic 10 – Dynamic Support Nenhuma linha de código foi modificada no compilador para oferecer suporte a esse recurso. Ainda podemos trabalhar com Late-bound da mesma maneira que nas versões anteriores do Visual Basic. O que mudou é o código no Visual Basic Runtime (Microsoft.VisualBasic.dll), reconhece a interface IDynamicMetaObjectProvider que fornece o DLR. Se um objeto implementa essa interface, o tempo de execução do Visual Basic irá construir uma chamada DLR e o objeto e sua linguagem vai injetar a sua execução dinamicamente. 30
  • 30. Visual Basic 10 – Dynamic Support Por exemplo, as bibliotecas padrão do Python contém um arquivo chamado random.py com um método chamado shuffle que pode ser usada para reorganizar os elementos em uma matriz aleatoriamente. 31
  • 31. Visual Basic 10 – Dynamic Support Em tempo de execução, o Visual Basic vê que o objeto implementa IDynamicMetaObjectProvider e, portanto, passa o controle para o DLR, que se comunica com o Python e executa o método (passando junto a matriz que foi definida no Visual Basic como um argumento para o método) 32
  • 33. Embed Interop Types COM Interop, Object Model Primary Assemblies (PIAs) necessitam ser distribuidos para a máquina dos usuários causando problemas de versionamento, dependencia e problemas que já estamos acostumados. O Visual Basic 2010 permite que as aplicações executem sem requerer que as PIAs exista na máquina do cliente, através da geração de tipos que serão responsáveis pela realização das chamadas de interoperabilidade para a biblioteca COM. Estes tipos são inferidos pelo compilador, para que o Common Language Runtime (CLR) pode identificá-los através de assemblies, e apenas os tipos de PIA que são absolutamente necessários serão copiados. 34
  • 34. Embed Interop Types Por default esta opção já está ativa para novos projetos, mas em projetos legado basta alterar a propriedade da referência. 35
  • 35. Multi targeting Praticamente todos os recursos do Visual Basic 2010 poderão ser utilizados em projetos do .NET Framework 2.0 ou.NET Framework 3.5 utilizando o Visual Studio 2010. Isso significa que todos os recursos apresentados, funcionarão em projetos existentes sem a necessidade de redirecionamento para o .NET Framework 4. A única exceção são os Embed Interop Types que tenha uma dependência em tipos que utilizem recursos do .NET Framework 4. 36
  • 37. Visual Studio LightSwitch Projeto iniciado pelo time de Visual Basic Permite a criação de aplicações de negócio e banco de dados com muita facilidade 38
  • 39. Referências Msdn.com/vbasic Blog: vbtuga.blogspot.com Interop http://msdn.microsoft.com/en-us/vbasic/bb419144.aspx http://www.alexandretarifa.com.br 40
  • 40. Conteúdo relacionado DEV306 | Um mergulho no ADO.NET Entity Framework 4 Data: 15/09 Horário: 09:00 - 10:15 DEV201 | Novidades e razoes para migrar para o Microsoft .Net Framework 4 - Data: 14/09 Horário: 09:00 - 10:15 DEV303 | Paralelismo no .Net 4.0: Patterns, dicas e truques Data: 15/09 Horário: 15:30 - 16:45 DEV307 | Aproveitando ao máximo as ferramentas do Visual Studio 2010 para Silverlight e WPF - Data: 15/09 Horário: 17:15 - 18:30 41
  • 41. 42
  • 42. © 2008 Microsoft Corporation. Todos os direitos reservados. Microsoft, Windows, Windows Vista e outros nomes de produtos são ou podem ser marcas registradas e/ou marcas comerciais nos EUA e/ou outros países. Este documento é meramente informativo e representa a visão atual da Microsoft Corporation a partir da data desta apresentação. Como a Microsoft deve atender a condições de mercado em constante alteração, este documento não deve ser interpretado como um compromisso por parte da Microsoft, e a Microsoft não pode garantir a precisão de qualquer informação fornecida após a data desta apresentação. A MICROSOFT NÃO DÁ QUALQUER GARANTIA, SEJA ELA EXPRESSA, IMPLÍCITA OU ESTATUTÁRIA, REFERENTE ÀS INFORMAÇÕES DESTA APRESENTAÇÃO.
  • 43. Por favor preencha a avaliação