André Alves de Lima

Talking about Software Development and more…

Microsoft Visual Studio 2010 LightSwitch: o que é e pra quê serve

Fala pessoal, tudo beleza?
 
Aproveitando que ainda não falaram muito sobre esse assunto (pelo menos não de maneira aprofundada) e vou descrever com maiores detalhes essa tecnologia da Microsoft que será lançada em alguns meses.
 
Todas as informações deste artigo estão baseadas no vídeo sobre essa tecnologia disponível no MSDN Channel 9. As imagens que utilizei também são screenshots desse mesmo vídeo, porque não temos essa tecnologia disponível para download ainda.
Bom, como o próprio título do artigo diz, explicarei aqui o que é, pra quê serve e como funciona o Microsoft Visual Studio 2010 LightSwitch. Ou melhor, mude todos esses verbos para o futuro porque nem o beta dessa ferramenta saiu ainda, somente alguns vídeos estão disponíveis na Internet demonstrando o seu potencial.
 
O LightSwitch será uma edição adicional do Visual Studio 2010, que se juntará ao pacote atual (Expression, Professional, Premium e Ultimate). A princípio, a ideia é que ele seja vendido separadamente e que o preço esteja entre o valor da edição Express (que é gratuito) e a versão Professional (que é a versão de entrada do Visual Studio 2010). Até o momento o preço exato não foi definido, mas, é certeza que o valor será inferior ao valor da edição Professional. Obviamente, quem tem MSDN Subscription também terá essa edição disponível para download.
 
Em poucas palavras, o objetivo dessa edição é proporcionar a maneira mais fácil possível de se construir aplicações para negócios para rodarem em desktop ou na nuvem.
 
Sabe aquela aplicação que está faltando para o controle de inventário da sua empresa que ninguém desenvolveu até hoje porque não teve tempo ou que é feita no Excel atualmente? E aquela aplicação para controlar as horas trabalhadas na empresa em que você trabalha? Que tal uma aplicação para você fazer uma lista de supermercado? Todos esses exemplos de aplicações são fáceis de se desenvolver, mas, mesmo com as ferramentas disponíveis atualmente temos que investir um número considerável de horas para desenvolvermos, então, acabamos deixando pra lá. Pois então prepare-se, você vai conseguir construir cada uma dessas aplicações em cerca de 15 minutos com o LightSwitch!
 
Quando escolhemos criar um novo projeto no LightSwitch, ele nos apresenta duas opções: LightSwitch Application (Visual Basic) e LigthSwitch Application (Visual C#), ou seja, a única opção que podemos escolher é a linguagem. Toda essa simplicidade foi feita de propósito pela Microsoft, para evitar termos de ficar pensando qual o tipo da aplicação que precisamos criar.
 
 
Ao escolhermos uma das opções, o LightSwitch cria uma solução em branco, e, logo após isso, temos de cara duas opções: Criar uma nova tabela ou atachar uma base de dados já existente ao projeto.
 
 
Como podemos perceber, o LightSwitch funcionará todo em cima dos dados que queremos trabalhar. Basicamente a partir das colunas que teremos nas tabelas do nosso sistema, o LightSwitch monta automaticamente todas as telas de cadastro e consulta para essas tabelas.
 
Ao selecionarmos para criar uma nova tabela, o designer se transforma e nos auxilia na criação das colunas que queremos para essa tabela, onde, reparem, podemos até escolher entre alguns tipos de dados de negócios, como “Telefone” e “Email”:
 
 
Em cada um dos campos dessas tabelas, temos propriedades específicas de cada tipo, como, por exemplo, para o tipo de dados “Email”, temos algumas propriedades específicas desse tipo:
 
 
Para alguns tipos de dados, como Inteiros, podemos criar Choice Lists, ou seja, lookups fixos com valores pré-definidos. Esse tipo de funcionalidade é muito útil quando queremos simplesmente exibir uma lista de escolhas para o usuário que não vai sofrer alterações a princípio, por isso, não compensa criar uma outra tabela para fazer o lookup:
 
 
 
Tá… Tudo muito legal, muito bonito, mas, e as telas? Você não falou que o LightSwitch cria as telas pra gente automaticamente? Pois é, ao clicarmos em “Add New Screen”, o LightSwitch mostra uma janela de opções para escolhermos um entre os tipos de telas disponíveis para linkarmos com alguma tabela da nossa aplicação. Então, podemos criar uma tela de cadastro, uma tela de busca, uma tela de detalhes ou outros tipos de telas, como podemos verificar na figura abaixo:
 
 
Além desses templates que o LightSwitch apresenta por padrão, poderemos criar novos templates e acrescentá-los nessa lista de opções.
 
Ao adicionarmos uma tela, podemos customizar a estrutura visual dessa tela, removendo campos, alterando a ordem que as informações serão apresentadas na tela entre outras opções.
 
 
Perceberam que não passamos nem perto de escrever código até agora? Então… Quer ver o resultado até agora? Vejam só:
 
 
Nessas telas que o LightSwitch criou automaticamente, podemos perceber que temos algumas features muito interessantes de presente pra gente, como exportação para Excel, paginação, search bar, etc.
 
Em background, quando criamos uma tabela no LightSwitch, ele cria um banco de dados SQL Server e utiliza o método file attach para exibir os dados por padrão.
 
Já quando falamos da aplicação, em background o que está sendo gerado por padrão é uma aplicação Silverlight 4 out-of-browser. E, por fim, para ligar um ao outro, a camada de acesso a dados utiliza EDM (Entity Data Model).
 
Muitas aplicações possuem mais de uma fonte de dados, e isso também é possível de ser feito com o LightSwitch. Ao selecionarmos a opção de adicionar um novo DataSource, temos até agora três opções: Database (qualquer banco de dados desde que você tenha o provider EDM necessário), SharePoint (Isso mesmo! Dá pra utilizar listas do SharePoint como fonte de dados nas nossas aplicaçoes!) e WCF RIA Service.
 
 
O mais legal de tudo é que conseguimos criar relacionamentos entre entidades de uma fonte de dados com entidades de outra fonte de dados. Ou seja, podemos criar um relacionamento entre uma entidade que está em uma fonte de dados do SQL Server com uma lista vindo do SharePoint! E tudo isso com pouquíssimos clicks! Incrível, não?
 
 
Lembra que comentei acima que existem tipos de dados específicos de negócios, como e-mail e telefone? Então, temos o tipo de dados Image também, que cuida da exibição e atualização da imagem pra gente, sem escrevermos uma linha de código!
 
 
Agora, não sei se vocês repararam, mas, quando estamos debugando a aplicação pelo Visual Studio, em tempo de execução aparece um botãozinho no canto superior direito da tela, com os dizeres “Customize Screen”. Ou seja, conseguimos customizar a tela com o sistema em execução!
 
 
Muito interessante, não? Mas, você deve estar perguntando agora, e se eu quiser fazer meus próprios controles? Não tem problema! Em qualquer nível da tela (desde a tela inteira até um textbox, por exemplo) você pode falar pro LightSwitch que você é quem vai tomar conta daquele controle, ou seja, você que vai fazer a interface e comportamentos daquele controle.
 
 
Não está contente com o comportamento padrão da tela? Quer adicionar uma regra de validação? Não tem problema, você pode escrever código também se você quiser!
 
 
Já sei, você está perguntando, e os breakpoints? Sem problema, temos suporte a eles:
 
 
Agora, vamos dizer que você não gostou do visual (ou tema) da aplicação, o que fazer? Bom, dá pra você escolher outros temas e shells e até mesmo criar seus próprios no futuro. Para alterar o tema e o shell, é só ir nas propriedades do projeto e mudar uma propriedade:
 
 
Alterando somente essa propriedade, todo o visual da sua aplicação é alterado em runtime automaticamente!
 
 

 
Outra opção que podemos escolher nas propriedades do projeto é o tipo de aplicação. Nesse caso, temos três opções: Desktop Client 2-tier, Desktop Client 3-tier e Browser Client 3-tier.
 
 
Finalmente, quando terminamos o desenvolvimento da nossa aplicação, podemos publicá-la diretamente do projeto, escolhendo em fazer o deploy diretamente para o servidor (se você tiver acesso) ou podemos também gerar os pacotes do MSDeploy. No beta 1 ainda não vai ser possível fazer o deploy na plataforma Azure, mas, essa funcionalidade está na lista para ser implementada na versão final.
 
 
E aí, deu pra perceber o potencial da ferramenta? Então, vamos esperar agora até o dia 23/08/2010, quando será lançado o primeiro beta público e vamos baixar pra ter uma ideia mais real.
 
É isso aí, espero que tenham gostado. Com certeza assim que o beta estiver disponível, voltarei com maiores detalhes aqui no blog.
 
Por enquanto, para saber maiores detalhes dessa ferramenta, dêem uma olhada no blog do produto, e na página de marketing do LightSwitch.
 
Até a próxima!
André Alves de Lima.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *