310 likes | 649 Views
Programação RAD para Windows usando o Visual Studio 2008. Bruno Campagnolo de Paula. Sumário. A ferramenta Visual Studio 2008; Versões; Edições; Arquitetura de arquivos; Editor de código; Atalhos; Depurador; Win Forms Designer; Estrutura de Menus. Objetivo.
E N D
Programação RAD para Windows usando o Visual Studio 2008 Bruno Campagnolo de Paula
Sumário • A ferramenta Visual Studio 2008; • Versões; • Edições; • Arquitetura de arquivos; • Editor de código; • Atalhos; • Depurador; • Win Forms Designer; • Estrutura de Menus.
Objetivo • Referência à ferramenta e retorno quando necessário; • Apresentação de termos importantes para desenvolvimento visual; • Não é suficiente saber bem uma linguagem de progração, você também deve saber bem como utilizar bem as ferramentas construídas para ela; • Por exemplo, observo POUCOS alunos depurando da maneira certa! • E pior, muitos não conhecem as ferramentas disponíveis. • Na prática: PERCA MENOS TEMPO E SEJA MAIS PRODUTIVO. • IMPRIMA ESTE MATERIAL!
Visual Studio 2008 (VS2008) • Ambiente de desenvolvimento integrado (IDE - Integrated Development Environment) da Microsoft para geração rápida de aplicações (RAD - Rapid Application Development). • Voltada ao desenvolvimento de aplicações para: • Windows; • Windows Mobile; • Principais linguagens suportadas: • Visual C#; • Visual Basic; • Visual J#: descontinuado! • Visual C++; • F#, Iron Python, Ruby.Net: outros produtos. • Versões: • Visual Studio 97, Visual Studio 6.0; • Visual Studio .Net (2002), Visual Studio .Net 2003; • Visual Studio 2005, Visual Studio 2008.
VS2008 - Edições • Express: limitada, voltada para estudantes, não tem MSDN completa, o Visual Web Developer é usado para programação para Web; • Standard: IDE integrada, diversas funcionalidades a mais. • Professional: Depuração remota, gerenciamento de DB SQL Server. • Tools for Office: Para desenvolvimento voltado ao Office. • Team System: grupos de trabalho; • Mais detalhes na planilha em: • http://tinyurl.com/2dlbdb
VS2008 - Arquitetura de Arquivos do Projeto • Arquivos (.cs, .vb, .resx, .settings, etc) estão contidos dentro de uma estrutura de pastas denominado Projeto; • Uma solução (solution) é um conjunto de projetos e é representado por um arquivo com a extensão .sln; • Na PUCPR os seus arquivos estão, geralmente na pasta: • C:\Temp\VisualStudio2008\Projects
VS2008 - Características do Editor de Código (1/3) • Algumas características só se aplicam ao C#; • Syntax Highlighting: cores diferenciadas para elementos do código; • Code Completion (IntelliSense): menu preditivo de comandos, CTRL + ESPAÇO. • Facilidade para refatoração de código; • Background compiling: compilação incremental, permite a correção imediata de erros.
VS2008 Características do Editor de Código (2/3) • Documentação integrada à IDE: • MSDN: Microsoft Developer Network; • Própria via comentários XML: • http://www.msdnbrasil.com.br/docs/vstudionet/visualstudio_comentsxml.doc • Bookmarks de código; • Delimitação de regiões (outlining) no código a partir da diretiva #region / #endregion;
VS2008 - Características do Editor de Código (3/3) • Suporte a atalhos de teclado: • Ver poster em: http://tinyurl.com/25sez4 • Ver, principalmente, os atalhos de refatoração (CTRL + R); • Code Snippets: • Fragmentos de código; • Exemplos: cw, if, foreach, switch, while, ; • Digitar o nome do code snippet e clicar TAB 2x ou pelo menu contextual;
Refatoração: • CTRL+R, R: renomear campo; • CTRL+R, M: extrair método; • CTRL+R, E: encapsular campo. • Bookmarks: • CTRL + B, T: Colocar Bookmark; • CTRL + B, N: Próximo Bookmark; • CTRL + B, P: Bookmark Anterior; VS2008 - Atalhos • Execução e Depuração: • F5: Iniciar depuração; • F6: Build (sem execução); • SHIFT + F5: Parar depuração; • CTRL + F5: Executar sem depurar; • F10: Step over; • F11: Step into; • CTRL + D, I: Immediate Window; • Editor: • CTRL + ESPAÇO: IntelliSense; • CTRL + E, C: Comentar linhas; • CTRL + E, U: Descomentar linhas; • CTRL + E, D: Identação do documento; • CTRL + E, F: Identação da seleção; • F7: Modo de Código; • SHIFT + F7: Modo de Design;
VS2008Características do Depurador • Disassembly (obtenção do código de máquina)do código, caso não esteja disponível; • Edit and Continue: Edição do código enquanto se depura; • Data Tooltips: mostra o valor das variáveis quando o usuário passa com o mouse por cima; • Immediate Window: execução de comandos em tempo de depuração • Depuração Tradicional: Breakpoints,Watches, Step Into, Step Over; • Call Stack: pilha de chamadas; • Depura programas externos (.exe e .dll) caso um programa dê erro grave; • Código gerenciado e código nativo;
VS2008 Editores Visuais Disponíveis • WinForms Designer: • Editor visual da GUI (Graphic User Interface) para aplicações Windows; • Web Designer: • Editor visual para aplicações web; • Editor de ASP.NET, CSS, Javascript, HTML, CSS; • Interface compartilhada com o Expression Studio; • Class Designer: • Editor de classes; • Não disponível na versão Express; • Data Designer: • Editor de bases de dados; • Mapping Designer: • Editor de mapeamentos objeto-relacionais; • WPF Designer: voltado para interfaces WPF (Silverlight).
VS2008WinForms Designer • Editor com os estilos de interação WYSIWYG e manipulação direta para criação de aplicações Windows; • WYSIWYG: • What you see is what you get; • O que você vê é o que você obtém); • A representação de manipulação da interface (tempo de projeto), é a mesma representação que a aplicação cria (tempo de execução); • Você "enxerga" o que está programando; • É difícil de representar algumas situações: • múltiplas abas; • interfaces alternativas. • Manipuração direta: • Usuário age diretamente sobre os objetos da aplicação; • GERALMENTE utiliza-se de mouse para drag & drop.
VS2008WinForms Designer • Interface estilo WIMP e estimulando a criação de interfaces WIMP: • Windows: Janelas, widgets; • Icons: Ícones; • Menus: Menus; • Pointers: Mouses; • Domina a computação a cerca de 15 anos! • Pergunta: • O que não é WIMP hoje em dia?
VS2008 WinForms Designer • Widgets, controles ou componentes são elementos de uma interface gráfica com os quais o usuário interage de maneira direta; • Geralmente permitem interação via mouse; • Exemplos de Widgets: • Janelas, Formulários, TextBox, Botão, botão de rádio, caixa de seleção, menu, etc. • Em WinForms os widgets são representados por componentes que podem ser arrastados da Toolbox para dentro de um container, como, por exemplo, dentro de um formulário.
VS2008 WinForms Designer • Tipos de componentes: • Visuais: caixas de texto, botões; • Não visuais: dataset, timer, serial port; • No exemplo ao lado temos 3 componentes visuais e 3 componentes não visuais.
VS2008 WinForms Designer • Representação dos widgets em código-fonte; • Podemos representar um widget através de linguagens: • Imperativas: • Descreve o programa como um conjunto de ordens (ações); • Diz como fazer; • Poderosas, mas difíceis para "pessoas normais"; • Java, C, C++, C#,etc; • Declarativas: • Descreve o que deve ser feito, mas não se preocupa com como os procedimentos funcionam; • Geralmente mais simples de serem entendidas, mas menos poderosas; • Facilidade de criar editor visual; • HTML, SQL, XML, etc;
VS2008 WinForms Designer • WinForms utiliza C# para representar a interface; • No momento que você arrasta um componente na tela é criado automaticamente um código que gera a interface; • Esse código é criado dentro da função InitializeComponent dentro do arquivo [Nome doForm].Designer.cs; • Observe que em C# uma classe pode estar espalhada por mais de um arquivo. • Cada componente é um objeto de uma classe específica e possui Propriedades, Métodos e Eventos . • Por exemplo, cada Textbox é uma instância da classe System.Windows.Forms.TextBox;
VS2008 WinForms Designer • Observe que todos os componentes podem ser modificados em tempo de projeto através da aba de propriedades ou em tempo de execução, via código; • Além disso, você pode associar eventos a um ou mais objetos; • Eventos são ações realizadas quando uma certa condição for satisfeita; • Tal condição pode ser, por exemplo: • O clique de um botão; • O digitar de uma tecla; • O arrastar do componente; • A mudança de valor do componente;
VS2008 WinForms Designer • No Visual Studio, ao clicar duas vezes em um componente você gera o evento padrão associado a ele; • Para visualizar os demais eventos, selecione a aba de eventos; • O código do evento é gerado na classe [Nome do Form].cs; • "sender" representa o objeto que chamou o evento; • "e" contém informações sobre o evento chamado.
Estrutura de Menus • Em destaque os principais itens de cada menu; • O menu Data será comentado em detalhes quando trabalharmos com Banco de Dados; • Teremos uma aula específica sobre o menu Tools e sobre as opções de um Projeto quando comentarmos sobre instalação de um programa em .Net;
Estrutura de Menus - Menu File • Em destaque os principais itens de cada menu; • New Project: Cria um projeto novo; • Open Project: Abre um projeto já existente; • Open File: Abre arquivo; • Close: Fecha arquivo; • Close Solution: Fecha a solução; • Save All: Salva Tudo; • Export Template: Cria um modelo de um projeto ou de um arquivo para reutilização; • Recent Projects: Projetos abertos recentemente.
Estrutura de Menus - Menu Edit • Undo, Redo, Cut, Copy, Paste, Delete, Select All: Ações disponíveis em qualquer editor de textos; • Find and Replace: existe a opção Find in Files; • Insert File As Text... : Importa texto; • Advanced: opções de identação, etc; • Bookmarks: gerenciamento de favoritos; • Outlining: gerenciamento das regiões de código; • IntelliSense: opções de code completion;
Estrutura de Menus - Menu View • Alterna as diferentes janelas disponíveis: • Code: código; • Designer: formulário associado; • Class View: hierarquia de classes; • Error List: lista de erros; • Output: saída via Console; • Properties Window: Propriedades dos objetos; • Solution Explorer: Projetos da solução; • Task List: Lista de tarefas; • Toolbox: barra de componentes • Toolbars: barra de ferramentas.
Estrutura de Menus - Menu Project • Add Windows Form: adiciona um novo formulário ao projeto; • Add User Control: adiciona um novo user control; • Add Class: Cria uma nova classe vazia; • Add New Item: Adiciona um item qualquer dentre os modelos; • Add Existing Item: Adiciona um item a partir de uma arquivo já existente; • Show All Files: Mostra arquivos ocultos do Projeto; • Add Referece: adiciona uma biblioteca; • Add Service Reference: adiciona uma referência a partir de um webservice; • ... Properties: Propriedades do Projeto, teremos aula específica sobre esse item futuramente.
Estrutura de Menus - Build e Debug • Build Solution: constrói todos os projetos da solução; • Rebuild Solution: reconstrói a solução; • Publish ... : Permite que se instale o aplicativo em outra máquina, criando um instalador; • Windows: mostra as janelas de saída e immediate; • Start Debugging: inicia a depuração; • Start Without Debugging: executa sem depurar; • Exceptions: Gerencia quais exceções devem ser tratadas pelo IDE ou pelo programa;
Estrutura de Menus - Menu Format • Menu exclusivo para trabalho com controles de formulário; • Align: alinhamento de controles; • Make Same Size: deixa os controles com o mesmo tamanho; • Horizontal Spacing: Espaçamento horizontal; • Vertical Spacing: Espaçamento vertica; • Center in Form: centraliza o item em relação ao formulário; • Order: ordem no índice Z, ou seja, se um componente está na frente ou atrás dos outros; • Lock Controls: impede a movimentação de um controle;
Resumo • O Visual Studio 2008 é uma ferramenta: • Com estilo de interação WYSIWYG; • Com estilo de interação WIMP; • Orientada a eventos; • Cuja interface em Windows Forms é representada através de uma linguagem imperativa; • Que suporta e estimula refatoração de código;
Referências Extras de Souza, C. S.; Leite, J. C.; Prates, R.O. & Barbosa, S.D.J. - "Projeto de Interfaces de Usuário: Perspectivas Cognitiva e Semiótica", Anais da Jornada de Atualização em Informática, XIX Congresso da Sociedade Brasileira de Computação, Rio de Janeiro, julho de 1999. - Ver capítulo 1.5 sobre estilos de interação WIMP, manipulação direta, etc.http://www.dimap.ufrn.br/~jair/piu/JAI_Apostila.pdfEvent Driven ProgrammingExplica a programação orientada a eventos.http://eventdrivenpgm.sourceforge.net/