Visual Studio 2008 e .NET Framework 3.5 - Parte 2

 

No primeiro artigo desta série vimos as diferentes versões do .NET Framework suas extentions e como segue a arquitetura do .NET Framework 3.5. Vimos também sobre os lançamentos da Microsoft e falamos um pouco do Windows Server 2008. Neste artigo vamos abordar sobre o Visual Studio 2008, um preview em torno das novas funcionalidades, Multi-targeting, Designer e Team System.

Visual Studio 2008

Visual Studio 2008 veio com um melhor conjunto de ferramentas para trabalhar com Windows Server 2008, Windows Vista e Office 2007 entre eles:

  • Nova superfícies de designer no .NET Framework 3.5
  • Suporte para Office 2007 incluindo ClickOnce e VSTO
  • MCF com suporte a controles comum do Windows Vista

Melhorias para o desenvolvimento web

  • Ferramentas para CSS
  • Suporte nativo para AJAX e JavaScript

Linguagem Avançada

  • Suporte .NET Framework multi-targeting
  • Integração de Dados e linguagens C# - VB.NET

Designer

Uma característica que desenvolvedores web vão descobrir com VS 2008 é a sua melhoria no HTML designer, CSS e do amplo suporte disponibilizado.

Designer, Split e Source

Para efeitos de visualização VS 2008 traz mais um modo além do já existente Design view e Code view. O Split view, ele nos permite visualizar tanto a fonte HTML como o seu design ao mesmo tempo, sendo facilmente possivel fazer alterações em qualquer uma de seu modo de visualização.  As Figuras 1 e 2 mostram essa nova funcionalidade.

Sem título2 
Figura 1 Split (click na figura para zoom)

image 
Figura 2. Split Vertical (click na figura para zoom)

Em torno do VS2008 e .NET 3.5

Visualizando a Figura 3, começaremos primeiramente no centro e discutiremos algumas das ferramentas do Visual Studio, ferramentas do ciclo de vida e algumas ferramentas da estrutura do núcleo .NET Framework que pode ser usados por uma grande variedade de aplicações.

Sobre variedade de aplicações no Visual Studio, você pode construir usando o .NET Framework, ferramentas que vão desde serviços a aplicações windows, web, escritório e aplicações móveis.

Suspeito que muitos de vocês estão construindo apenas alguns desses tipos de aplicativos hoje, para alguns, estes temas não podem ser imediatamente relevantes para seus projetos atuais, entretanto, acredito que é valioso compreender o que você pode construir com a estrutura e as ferramentas caso que você tem uma necessidade de estender suas aplicações em cenários diferentes, seja, windows, web, escritório ou aplicações móveis como celulares, pocket pc e etc...

image
Figura 3. .NET Framework que pode ser usados por uma grande variedade de aplicações.

Visual Studio 2008

Multi-targeting
Com o Visual Studio 2008 agora podemos utilizar todos os seus recursos e escolher o framework pretendido para desenvolvimento, ou seja, com o Multi-targeting posso escolher qual a versão do Framework quero trabalhar, A Figura 4 e 5 demostra a combo com as opções de Framework no drop do lado direito acima.

Além disso, O Visual Studio 2008 irá lista opções de projeto conforme versão escolhida, se você fizer um comparativo entre as Figuras 4 e 5, quando escolhi trabalhar com Framework 3.5 o VS2008 me listou os tipos de projetos para .NET 3.5 , como WPF, WCF e aplicações Office Word, Excel, Outlook como podemos vê na Figura 4.

Quando escolhi .NET 2.0 ele não me listou essas opções pois o Framework 2.0 não me dá suporte nativo para esses tipos de projeto Figura 5 demostra isso.

image
Figura 4. Multi-targeting no VS2008 com opções para .NET Framework 3.5

image 
Figura 5. Multi-targeting no VS2008 com opções para .NET Framework 2.0

O VS2008 é inteligente também ao construir soluções utilizando as ferramentas apropriadas para a versão do .NET que está sendo utilizada. Ele auto-ajusta as ferramentas adequadas e corretas para versão Framework escolhida. Observe a Figura 6 e 7.

Na Figura 6 com projeto .NET 3.5 a toolbox listou ferramentas para Ajax e novos controles como ListView, DataPager e LinqDataSource já na Figura 7 com projeto .NET 2.0 a toobox não mostra essas ferramentas. Isso tudo acontece de forma automatizada.

Sem título
Figura 6. Projeto .NET 3.5 (click na figura para zoom)

image
Figura 7. Projeto .NET 2.0 (click na figura para zoom)

Simplifica o desenvolvimento 
Multi-targeting é útil quando você está construindo um novo projeto e você não pode abandonar o projeto antigo mais também não quer ficar na dependência da versão mais atrasada, também é extremamente benéfico para atualizar os projetos já existentes, muito fácil migrar uma aplicação .NET 2.0 para .NET 3.5.

Você pode fazer a atualização do Visual Studio 2005 para o Visual Studio 2008 com muita facilidade, porque o seu projeto antigo pode continuar em 2.0 e você pode trabalhar com novos projetos em 3.5 sem a necessidade de ter instalado na mesma máquina VS2005 e VS2008, somente o 2008 já faz os dois papeis.

Como exemplo, tenho aplicações para Pocket pc, Web e Windows no VS2005 .NET Framework 2.0 em uma máquina, em outra máquina simplemente abri o arquivo de solução de cada aplicação, no VS2008 modificou o aquivo sln, atualizou a solução de versão 8 para 9 e recompilado as soluções deram avisos de 0 erros e 0 advertências.  Isso eu testava ainda na versão beta 1 do VS2008.

Já para dá um upgrade de projetos complexos feitos em .NET 2.0 para .NET 3.5, projetos com muitas funcionalidades e componentes tercerizados mova essas aplicações existentes do VS2005 para a estrutura 3.5 gradualmente...

Em resumo

  • Em uma única ferramenta você poderá trabalhar com projetos de diferentes estruturas e arquitetura para versões do .NET Framework 2.0, 3.0 e 3.5.
  • Permite apenas recursos disponíveis conforme Framework escolhido. Toolbox, Tipos de Projeto, Referências, Intellisense e etc...
  • Unit Testing disponível.

Lifecycle Tools

Team Foundation Server 2008

  • Built-in support for Continuous Integration
    O TFS Inclui agora suporte interno para a integração contínua. Tudo configurável através Team Build wizard. A política de retenção, por exemplo, mantem automaticamente as 3 últimas configurações quebradas as mais atrasadas e as últimas 10 configurações de trabalhos feitos.
  • TFS Migration Toolkit
    Essa ferramenta ajuda a passar parte do controle de código fonte e acompanhamento de trabalhos e soluções para Team Foundation Server.
  • Get latest on checkout
    Ajuda as pessoas que estão mais familiarizados com o estilo de trabalho do Visual Source Safe no checkout de sistema.
  • Annotate
    Exibe linha por linha, até a última pessoa que mudou uma linha de codigo fonte associado com changeset.
  • Folder Diff
    Com Folder Diff fica fácil comparar duas pastas Client-Server, Matriz-Filial, Servidor para servidor e etc...

Para o Desenvolvimento

  • Code metrics
    O medidor do código ajuda a destacar as partes de seu projeto que podem precisar de refactor. Ajuda os desenvolvedores a compreender pedaços de código que podem ser frágil e arriscado fazer mudanças.
  • Performance “hotpathing”
    Permite aos desenvolvedores ver rapidamente os caminhos de execução do seu código que estão tomando mais tempo a serem executados, permitindo assim, analizar detalhadamente para correção de performance do sistema.
  • Profiler baselining
    Torna fácil comparar o perfilamento de funcionamentos e determinar o impacto que as mudanças do código estão tendo no desempenho do sistema.
  • Unit testing performance
    O unit testing tem uma estrutura mais rápida, facilitando iterar mais ràpidamente o teste de código.

Para Testes

  • Carga testes agora suporta aplicações AJAX (anteriormente tinham que usar ferramentas de terceiros como a ferramenta Fiddler).
  • UI para carregar testes foi vastamente melhorado para torná-la mais fácil de acompanhar carga e recolher os dados significativos.

Conclusão

Essa é uma pequena amostra do que é o Visual Studio 2008 . Vimos apenas algumas características básicas, sem explorar nada muito a fundo como o multi-targeting, nova forma de trabalhar com designer do Visual Studio e as ferramentas do clico de vida do Visual Studio Team System 2008.

Na terceira parte do artigo vamos entrar em códigos na prática, primeiramente é conhecer a ferramenta para depois começar codificando algo,  vamos falar de CSS, LINQ, JavaScript e outros recursos para aumento de produtividade, agora é só ficar atento as novidades.

"Acredite no princípio {KISS}: Keep It Simple, Stupid"


  • Published Friday, March 07, 2008 6:26 AM by johnywercley

    Comments

    # re: Visual Studio 2008 e .NET Framework 3.5 - Parte 2

    Friday, March 07, 2008 9:09 AM by Bruno Moniz

    Os artigos estão muito bons, e por estarem em português é uma mais valia para esta lingua. Espero que continues! Vou adicionar um link no meu blog para o teu :)

    Cumprimentos,

    Bruno

    # re: Visual Studio 2008 e .NET Framework 3.5 - Parte 2

    Monday, March 10, 2008 11:52 AM by johnywercley

    Olá Bruno, obrigado pelo vínculo em seu blog. Vou continuar publicando :)adicionei o seu...

    abraços

    # re: Visual Studio 2008 e .NET Framework 3.5 - Parte 2

    Tuesday, March 11, 2008 10:40 PM by Raquel Oliveira

    Muito util seu artigo eu iria instalar o 2008 sem desistalar o 2005 para não perder meus arquivos feitos nele agora vi que não preciso ter as duas versões do Visual Studio instalado no meu computador foi importantissímo seu artigo vivaaaaaaaa sobra de bits no meu HD

    # re: Visual Studio 2008 e .NET Framework 3.5 - Parte 2

    Thursday, March 13, 2008 5:12 PM by Andrey

    Trabalho com 2003, instalando o 2008 consigo trabalhar normalmente os projetos do 2003?

    # re: Visual Studio 2008 e .NET Framework 3.5 - Parte 2

    Monday, March 17, 2008 9:25 AM by johnywercley

    Não. VS2008 dá suporte para projetos .NET framework 2.0, 3.0, 3.5

    # re: Visual Studio 2008 e .NET Framework 3.5 - Parte 2

    Sunday, August 03, 2008 5:52 AM by Sandro

    Boas

    Excelente trabalho!

    E PT ainda melhor, pois por vezes existe aqueles termos em ingles que acabamos por nao conseguir desifrar.

    Agora se possivel, so uma ajudinha!

    Instalei o VS 2008.

    E qual o meu espanto que ao tentar entar no VWD da erro!

    Diz que nao load failude package!

    E nao me mostra a pagina no modo design.

    Estou a instalar numa maquina com o Win Xp Home.

    Mas ja tive o VS 2005 instalado e funcionava bem!

    Se me podesse ajudar iria ficar muito agradecido.

    Continue o Bom trabalho

    Cpts

    Sandro

    # re: Visual Studio 2008 e .NET Framework 3.5 - Parte 2

    Monday, February 09, 2009 8:29 PM by Guilherme Mânica

    Achei excelente seu artigo e acredito que ele tenha me ajudado a exclarecer uma dúvida.

    Pelo visto eu estava com um entendimento errado sobre a compatibilidade do Visual Studio 2008 e os frameworks, do 2.0 ao 3.5.

    Acho que em função desta confusão tenha cometido um erro em um projeto que implementei.

    Desenvolvi uma aplicação usando VS2008 e framework 3.5 que por motivos de segurança deveriam rodar sobre o mesmo domímio onde já rodava um site desenvolvido usando framework 2.0.

    Pelo meu entendimento isso deveria funcionar, mas quando fui colocar em produção, para minha surpresa, a compatibilidade parece ter sumido e é ai que acredito ter feito a confusão, ou seja, a compatibilidade é entre o VS2008 e os frameworks, mas não entre versões do framework.

    Veja minha situação:

    Site desenvolvido com framework 2.0 e o arquivo web.config na raiz site (Funcionando 100%).

    Criei uma pasta abaixo da raiz deste site e adicionei os arquivos da minha aplicação (Framework 3.5) nela, inclusive um própio web.config.

    Problema: A minha aplicação não roda quando acessada pelo dominio\minha_aplicaçao\ e retorna mensagem de chave duplicada no web.config.

    Quando publico minha aplicação em outro alias virtual, ai ela roda sem problemas.

    Dúvida? Isso realmente não é para funcionar ou tenho que realizar alguma configuração especial no web.config ou no alias virtual?

    Se vc puder me esclarecer essa dúvida ficarei agradecido, pois até agora não estou vendo outra saida se não fazer um downgrade da minha aplicação.

    Meu e-mail: gmanica@gmail.com

    Desde já muito obrigado

    Leave a Comment

    (required) 
    (required) 
    (optional)
    (required)