Dev401 novos recursos do microsoft visual basic 2010

43
SETEMBRO, 2010 | SÃO PAULO

Transcript of Dev401 novos recursos do microsoft visual basic 2010

Page 1: Dev401 novos recursos do microsoft visual basic 2010

SETEMBRO, 2010 | SÃO PAULO

Page 2: 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: [email protected] @alexandretarifa

Novos recursos do Microsoft Visual Basic 2010

CÓDIGO DA SESSÃO: DEV401

Page 3: Dev401 novos recursos do microsoft visual basic 2010

4

Agenda

Evolução e direcionamento

Migração

Evolução da linguagem

Novidades do Visual Basic 10

Page 4: Dev401 novos recursos do microsoft visual basic 2010

5

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.

Page 5: Dev401 novos recursos do microsoft visual basic 2010

6

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

Page 6: Dev401 novos recursos do microsoft visual basic 2010

7

Twitter

Page 7: Dev401 novos recursos do microsoft visual basic 2010

8

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

Page 9: Dev401 novos recursos do microsoft visual basic 2010

10

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 XXX -> Visual Studio Lightswitch

Page 10: Dev401 novos recursos do microsoft visual basic 2010

11

Mitos da linguagem

POO

Mais elegante

Mais performance

Mais poderoso

A Microsoft vai acabar com o VB

VB é para iniciantes

C# é mais difícil

....

Page 11: Dev401 novos recursos do microsoft visual basic 2010

12

Evolução

http://reflector.red-gate.com/

Page 12: Dev401 novos recursos do microsoft visual basic 2010

13

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.

Page 13: Dev401 novos recursos do microsoft visual basic 2010

14

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.

Page 14: Dev401 novos recursos do microsoft visual basic 2010

15

Visual Basic 10 – Implicit Line Continuation

O caractere é implicito nas situações seguintes:

Antes de Depois de

, (vírgula). (ponto), > (atributos) ({(abre colchetes), < % = (começar a expressão (XML literais))

X

),},] (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, Take, Take While, Where, In, Into, On, Ascending, Descending)

X

X

Operadores (+ , - , * , / , \ , ^ , >> , << , Mod, & , += , -= , *= , /= , \= , ^= , >>= , <<= , &= , < , <= , > , >= , <> , Is, IsNot, Like, And, Or, Xor, AndAlso, OrElse)

X

With (inicializador de objetos) X

Page 15: Dev401 novos recursos do microsoft visual basic 2010

16

Implicit Line Continuation

Page 16: Dev401 novos recursos do microsoft visual basic 2010

17

Visual Basic 10 – Auto Implemented Properties

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

Page 17: Dev401 novos recursos do microsoft visual basic 2010

18

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.

Page 18: Dev401 novos recursos do microsoft visual basic 2010

19

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.

Page 19: Dev401 novos recursos do microsoft visual basic 2010

20

Auto Implemented Properties

Page 20: Dev401 novos recursos do microsoft visual basic 2010

21

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.

Page 21: Dev401 novos recursos do microsoft visual basic 2010

22

Collection Initializer

Page 22: Dev401 novos recursos do microsoft visual basic 2010

23

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

Page 23: Dev401 novos recursos do microsoft visual basic 2010

24

Lambda

Page 24: Dev401 novos recursos do microsoft visual basic 2010

25

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.

Page 25: Dev401 novos recursos do microsoft visual basic 2010

26

ArrayLiterals

Page 26: Dev401 novos recursos do microsoft visual basic 2010

27

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.

Page 27: Dev401 novos recursos do microsoft visual basic 2010

28

Melhorias em parâmetros opcionais

Page 28: Dev401 novos recursos do microsoft visual basic 2010

29

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

Page 29: Dev401 novos recursos do microsoft visual basic 2010

30

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.

Page 30: Dev401 novos recursos do microsoft visual basic 2010

31

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.

Page 31: Dev401 novos recursos do microsoft visual basic 2010

32

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)

Page 32: Dev401 novos recursos do microsoft visual basic 2010

33

Dynamic Support

Page 33: Dev401 novos recursos do microsoft visual basic 2010

34

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.

Page 34: Dev401 novos recursos do microsoft visual basic 2010

35

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.

Page 35: Dev401 novos recursos do microsoft visual basic 2010

36

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.

Page 36: Dev401 novos recursos do microsoft visual basic 2010

37

Multi targeting

Page 37: Dev401 novos recursos do microsoft visual basic 2010

38

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

Page 38: Dev401 novos recursos do microsoft visual basic 2010

39

Visual Studio LightSwitch

Page 39: Dev401 novos recursos do microsoft visual basic 2010

40

Referências

Msdn.com/vbasic

Blog: vbtuga.blogspot.com

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

http://www.alexandretarifa.com.br

Page 40: Dev401 novos recursos do microsoft visual basic 2010

41

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

Page 41: Dev401 novos recursos do microsoft visual basic 2010

42

Page 42: Dev401 novos recursos do microsoft visual basic 2010

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

Page 43: Dev401 novos recursos do microsoft visual basic 2010

Por favor preencha a avaliação