O conceito de desenvolvimento rápido de aplicações é muito simples. Foi um modelo de design criado com o simples objetivo de acelerar o processo de criação de aplicações centradas em dados. A ideia é que, pelo fato de a maioria das aplicações criadas diariamente nas empresas ser voltado a dados, o desenvolvimento não precisa ser tão demorado como realmente é, pelo fato de todas as aplicações serem muito semelhantes em sua concepção.

Nota: Confira o curso de Visual Studio LightSwitch da DevMedia.

Vale ressaltar que esse conceito não foi criado para a construção de grandes aplicações. Porém, pode se tornar uma ferramenta muito interessante para desenvolvedores autônomos que trabalham por projeto, por exemplo. Geralmente, como os clientes desses desenvolvedores são empresas menores, que não necessitam de grandes sistemas, o RAD pode ser aplicado tranquilamente.

Atualmente, existem diversas ferramentas que podem ser utilizadas para esse tipo de desenvolvimento. O Microsoft LightSwitch é uma delas, e tem como grande vantagem o fato de ser baseado nas tecnologias da Microsoft, amplamente utilizadas ao redor do mundo.

Construção fácil de aplicações centradas em dados

Quando o LightSwitch foi lançado, foi com uma jogada de marketing muito grande em cima dele. A Microsoft declarou que seria o meio mais fácil para a construção de aplicações centradas em dados – seja para o Desktop ou para a Nuvem.

Essas aplicações, que hoje em dia estão em todo lugar, estão mais presentes nos negócios. Na realidade, o LightSwitch surgiu como uma tentativa da Microsoft centrada no RAD – Rapid Application Development – com o objetivo de criar rapidamente aplicações para os negócios.

Além disso, o LightSwitch não é uma ferramenta exclusivamente voltada para desenvolvedores experientes. A facilidade na criação das aplicações é tanta que ele funciona perfeitamente para facilitar a vida de novatos no ramo. Isso significa que, se o desenvolvedor conhece o negócio com alguma profundidade, sabe que esse negócio precisa de um sistema de informação, então o Visual Studio LightSwitch é a ferramenta certa. Ele irá permitir que o desenvolvedor se concentre somente no que é mais interessante: o desenvolvimento da lógica de negócios.

Iniciando um projeto LightSwitch

A Figura 1 mostra a tela inicial de um projeto do tipo LigthSwitch Desktop Application.

Figura 1. Tela inicial de um projeto LightSwitch Desktop Application

O próprio Visual Studio já sugere ao desenvolvedor a possibilidade da criação de uma nova tabela ou de adicionar uma fonte de dados externa ao projeto. Isso é muito importante, pois se estamos lidando com uma aplicação fortemente centrada em dados, o ideal é que esses dados possam ser criados facilmente. Ainda mais em se tratando de um RAD.

Criação de Entidades

Quando lidamos com modelos E-R (Entidade-Relacionamento), o que são exatamente as entidades? Esse tipo de diagrama é um modelo que pode ser facilmente transformado em uma base de dados relacional, onde cada uma das entidades irá representar posteriormente uma tabela do banco. Portanto, a criação de entidades nada mais é do que criarmos as tabelas da base de dados que irá estar presente na aplicação.

Para criarmos uma tabela, basta clicarmos no link “Create new table”, presente no designer da aplicação. Com isso, irá se apresentar uma tela para a criação de uma tabela de base de dados. Nesse caso, iremos criar uma simples tabela de consumidores. Repare que, quando criamos uma nova tabela, por padrão, ela vem com o identificador único. Isso é muito interessante, pois sabemos que o identificador deve estar presente em todas as nossas tabelas e, muitas vezes, podemos nos esquecer de coloca-los lá. Conforme é possível vermos na Figura 2, nossos consumidores terão que fornecer obrigatoriamente seus nomes, endereços e data de nascimento, juntamente com algumas informações opcionais.

Figura 2. Tabela de consumidores

É interessante notar, como mostra a Figura 3, que o Visual Studio traz o que é chamado de perspectiva. Como podemos observar, existem dois tipos de perspectivas: Server e DesktopClient. As aplicações centradas em dados, geralmente, tem um servidor que irá conter os dados e um cliente que irá exibi-los. Embora muitas vezes isso seja feito em apenas uma máquina, é exatamente assim que acontece internamente. O S.O. emula um servidor de dados para que a aplicação tenha acesso a ele.

Figura 3. Perspectiva do Servidor

Além disso, o servidor possui uma série de poderes que o cliente não possui, como podemos observar na Figura 4. Portanto, o servidor possui os poderes para mexer na base de dados e tudo que diz respeito a ela, enquanto o cliente é responsável por mostrar os dados de alguma forma.

Figura 4. Perspectiva do Cliente

Um ponto importante que diz respeito a criação de entidades é a definição de algumas propriedades especiais, chamadas de Computed Properties. Essas propriedades não são salvas na base de dados, mas são calculadas em tempo de execução. Para alterar entre uma propriedade simples e uma computed, basta selecionar o check box isComputed na janela de propriedades da mesma. Quando tal opção está selecionada, basta clicar em Edit Method para acessar o editor de código onde é possível implementar a lógica de negócios para calcular essa propriedade.

Conforme mostra a Listagem 1, tal atitude simplesmente cria um método chamado <Nome_Propriedade>_Compute(), que irá computar o estado da propriedade. Na prática, os dados serão computados em tempo real, embora funcionem como uma propriedade comum. Dentro desse método, é possível colocar qualquer tipo de lógica que o desenvolvedor desejar. Por exemplo, se estivéssemos criando um aplicativo que tivesse uma máquina de estados, poderíamos ter uma propriedade computada de nome State, responsável pelo cálculo das transições entre os estados. No caso do exemplo desse artigo, não faz muito sentido a utilização desse tipo de propriedade, embora possa ser uma ferramenta extremamente útil em outras aplicações.

Listagem 1. Computed Property


partial void <Nome_Propriedade>_Compute(ref string result)
  {
    // Set result to the desired field value
  }

Adição de uma janela

O interessante a respeito do LightSwitch é a facilidade em construir as aplicações. Como é possível observarmos na Figura 4, o próprio ambiente fornece a possibilidade de adicionar uma janela com o simples clique de um botão. Além disso, como vemos na Figura 5, o Visual Studio fornece uma série de templates que podem ser escolhidos, dependendo do que se deseja realizar com os dados da tabela em questão.

Figura 5. Adicionando uma nova janela

Cada um dos templates tem a sua melhor aplicação, dependendo do que o desenvolvedor deseja. O Details Screen é quando se deseja mostrar os dados de uma tabela em detalhes profundos, com todas as suas propriedades. Já o Editable Grid Screen contém um grid editável, de forma que, conforme os dados estão dispostos no grid, eles podem ser editados pelo cliente da forma que ele desejar. O New Data Screen é bastante simples e é utilizado para a criação de novos registros, enquanto o Search Data Screen é utilizado para pesquisas na tabela na base de dados. Por fim, o List and Details Screen mostra uma lista de itens e ao seu lado os detalhes do item selecionado. Portanto, inicialmente, será selecionada uma janela do tipo List and Details Screen. É importante selecionar os dados que desejamos nessa janela. No canto direito, onde há a inscrição Screen Data, é possível selecionarmos a nossa tabela. Além disso, é importante que a inscrição “Additional Data to Include” esteja marcada. Então, o LightSwitch automaticamente cria a tela para nós. Na Figura 6 é possível observarmos a criação de uma janela que não mostra nenhum dado porque nossa tabela não possui nenhum dado.

Figura 6. Janela criada automaticamente

Porém, para que possamos adicionar algum tipo de dados à nossa aplicação, é preciso outro tipo de tela. Podemos utilizar o New Data Screen para adicionar uma tela que faça essa inclusão de dados para nós. Podemos acessá-la através do menu “Tasks”, no canto superior esquerdo da aplicação (Figura 6). Com isso, temos a possibilidade de adicionar os dados que desejamos e vê-los mostrados na tela, como na Figura 7. A adição desses dados é muito simples. Como o LightSwitch cuida da parte de toda a lógica que está por trás da aplicação, a única coisa que necessita ser realizada é a adição da tela para novos dados. Essa tela nada mais é que um formulário onde o usuário é capaz de adicionar valores para cada um dos atributos da tabela. A criação da tela segue o mesmo princípio da Figura 5. É importante sempre lembrar que há a necessidade de vincular a tabela (consumidores, nesse caso) à janela que está sendo criada.

Figura 7. Janela povoada com dados

Esse artigo foi criado com objetivo de apresentar o LightSwitch e todo o seu poder e facilidades. É interessante notar que, sem nenhuma linha de código, foi possível criar algumas funções interessante e que toda a aplicação necessita quando lida com dados. É claro que a aplicação final que o desenvolvedor pode entregar para o cliente não ficará dessa forma. O LightSwitch é muito mais do que isso, e possui uma série de elementos avançados que podem auxiliar, e muito, o desenvolvedor na hora de criar suas aplicações centradas em dados.

As Figuras 3 e 4 trazem o botão “Write Code”. Através dele, é possível que a lógica de negócios da aplicação seja facilmente adicionada.