Pro Business Applications with Silverlight 4 (English)

I see that there is a lot of interest in developing business applications with Silverlight, although there are not many books about that subject. The book Pro Business Applications with Silverlight 4, from Chris Anderson, Apress Publishing, brings Silverlight learning under a different concept the business applications development.

Usually, the Silverlight books bring the platform concepts under a difficulty sequence, but with no concerns with the real world application development. This book concern is the creation of applications: in chapter 5, just after showing an introduction to Silverlight and to XAML and showing an introduction to the navigation framework, it shows RIA Services for data access with Entity Framework.

In the sequence, the author talks about list generation and data entry forms, following with application security, an unusual topic in books on this subject. The following chapters are on Data Binding, custom control creation and MVVM pattern, a subject almost mandatory in the WPF/Silverlight development.

The last chapters are about reporting and printing, Out of Browser applications and interaction with the operating system and application deployment. The book is well written and touches many subjects not touched by other books, although they are very important for the business application development.

The book is focused in using RIA Services, and it lets aside other technologies for data access, like WCF, REST or JSon and there is barely nothing about network access, needed when you want to upload a file to the server or download a file. In the printing chapter, the author showed very little about the printing technology in Silverlight 4, spending a lot of pages to show how you can display PDF files generated on the server. Although this is a viable way to show reports, I don’t think it’s the best one, because we need to resort to tricks like use an IFrame over the Silverlight control, with several problems: it doesn’t work Out of Browser (we need to use the WebBrowser in this case), you cannot show a ChildWindow while it’s visible (the IFrame stays on top of the Silverlight control and hides the ChildWindow) and needs Acrobat Reader installed in the user’s machine. It would be better that, in this chapter, the author had written a mini report generator to aid report generation using Silverlight technology.

On the other side, the book shows Silverlight under a different aspect, geared towards business applications, what, in my opinion is the real Silverlight vocation. The RIA Services explanation is very complete, and encompasses from the basics through validation, metadata and the use of a presentation layer, that eases the use with the MVVM pattern and the use of authentication.

In summary, the book is very good for those who want to develop a business application with Silverlight using RIA Services, it contains a lot of information and, as and added bonus, its text contains links to tools, controls or articles that will aid the Silverlight development.

Pro Business Applications with Silverlight 4

Vejo que há um grande interesse no desenvolvimento de aplicações comerciais com Silverlight, embora não haja muita bibliografia sobre o assunto. O livro Pro Business Applications with Silverlight 4, do Chris Anderson, editora Apress, traz o aprendizado de Silverlight sob um conceito diferente, o desenvolvimento de aplicações de negócios.


Normalmente os livros de Silverlight trazem os conceitos da plataforma em uma sequência lógica de dificuldade, mas sem uma preocupação com o desenvolvimento de aplicações para o mundo real. Já este livro preocupa-se com a criação de aplicações: logo no capítulo 5, após mostrar uma introdução ao Silverlight e ao XAML e mostrar o framework de navegação, ele mostra o WCF RIA Services para acesso a dados com o Entity Framework.


Em seguida, o autor fala de geração de listas e de formulários de entrada de dados, seguindo com o tópico de segurança da aplicação, tópico raramente visto nos livros do assunto. Os capítulos seguintes são sobre Data Binding e a criação de controles personalizados, seguido pelo pattern MVVM, um tema que agora é quase obrigatório no desenvolvimento WPF/Silverlight.


Os últimos capítulos são sobre impressão e relatórios, Out of Browser e interação com o sistema operacional e distribuição de aplicações. O livro é bem escrito e aborda diversos tópicos que normalmente não são tocados pelos livros tradicionais, embora sejam fundamentais para o desenvolvimento de aplicações de negócios.


O livro é muito centrado em RIA Services, deixando de lado outras tecnologias de acesso a dados, como serviços WCF, REST, Json, além de tocar pouco no acesso a rede, indispensável quando se quer fazer upload de arquivos ou baixar dados do servidor. No capítulo de impressão, o autor mostrou muito pouco a tecnologia de impressão do Silverlight 4, gastando muitas páginas para mostrar como podemos mostrar arquivos PDF gerados no servidor. Embora esta seja uma forma razoável de mostrar relatórios, não considero a melhor, pois devemos recorrer a truques como usar um IFrame sobre o controle Silverlight, com diversos problemas: não funciona OutOfBrowser (devemos usar o WebBrowser, neste caso), não permite mostrar uma ChildWindow quando ativo (ele fica sobre o controle Silverlight e esconde a ChildWindow) e necessita que o Acrobat Reader esteja instalado. Seria muito melhor que, neste capítulo, o autor tivesse escrito um mini gerador de relatórios para auxiliar a criação de relatórios com a tecnologia do Silverlight.


Por outro lado, o livro aborda o Silverlight com um enfoque diferente, voltado para aplicações de negócios, o que, a meu ver, é a verdadeira vocação do Silverlight. A explicação do RIA Services é bem completa, compreendendo desde o básico, até a validação, metadata e o uso de uma camada de apresentação, o que facilita o uso com o pattern MVVM, até o uso de autenticação.


Em resumo, o livro é muito bom para quem quer desenvolver uma aplicação de negócios com Silverlight usando o RIA Services, ele contém muita informação e, como bônus, seu texto contém links para ferramentas, controles ou artigos que irão auxiliar o desenvolvimento de programas com Silverlight.