Review breve ao Microsoft Silverlight e Microsoft Expression Blend
Estive a brincar pela primeira vez com o Microsoft Expression Blend 2.0 durante alguns minutos. As minhas impressões, assim muito de relance:
- O User Interface, graficamente é agradável e feito ao pormenor. É fluído, e rápido (dá vontade de mexer nele).
- Por outro lado, mostra demasiada informação ao utilizador, e rapidamente me senti afundado no meio de demasiadas; caixas de propriedades, ficando um espaço diminuto para trabalhar (faz-me lembrar os meus tempos de Flash IDE). Tentei mexer as caixas de propriedades diminuindo-as, mas o interface não deixou. Provavelmente azelhice minha…;
- O compilador reagiu muito rapidamente, e abriu o resultado em menos de um segundo;
- Com muita facilidade, fiz a minha primeira brincadeira, arrastando objectos, e mudando as propriedades. O interface gráfico é de longe mais simples e organizado que o Flex, embora sejam ferramentas direccionadas a diferentes perfis;
- Fiz algumas animações com uma simplicidade tremenda, tendo sido gerado o código respectivo (plain text). Esta foi a funcionalidade que mais me impressionou (apesar de já estar à espera dela): a construção de animações e do IDE gera código XAML, que pode ser facilmente editado;
- Parece-me complicado o Thermo conseguir ser tão simples como o Blend (mas espero que seja!);
- O XAML é muito parecido com o MXML, e aparentemente vem formatado de uma forma mais simpática. Porém, para primeira abordagem achei o XAML um pouco menos intuitivo que o MXML (e estou a comparar com o que me recordo dos meus primeiros tempos de MXML);
- O código gerado não me pareceu muito simpático. Por exemplo, numa animação simples que fiz, no código que foi gerado uma das propriedades que estava a ser alterada era algo como “objecto1.qualquercoisa[3].objecto4.qualquercoisa[5].animacao.x”. Nada simpático…
- O Blend não possui auto-completion! Damn! Mas explicaram-me posteriormente que o Blend é suposto ser para designers, e não programadores. Os programadores deverão fazer o código no Visual Studio;
Posteriormente, procurei alguém que pudesse responder as minhas questões, e mostrar-me como fazer um exemplo em Silverlight de uma ponta a outra. Tive o prazer de conhecer o Robertjan Tuit, que se prontificou a satisfazer a minha curiosidade. Ficam aqui os tópicos que me recordo:
- O Microsoft Expression package é para designers, não para developers;
- O Microsoft Expression package não é para criatividade; é para pegar nessa criatividade e concretizá-la. Por outras palavras, o designer pode construir o seu interface por exemplo no Illustrator, importá-lo para o Blend, e transformar esse interface num site;
- O Silverlight ainda não é uma plataforma para desenvolvimento de Rich Internet Applications. Neste momento, o objectivo é construir Rich Websites, e Rich Experiences no WPF (que cria executáveis). Não existem ainda controlos de User Interface (datagrid, comboboxes, etc). A partir de Março, podemos começar a ver alguns avanços nesta área, mas a Microsoft neste momento está interessada em manter os seus developers, e atrair designers.
- Os designers devem construir o interface gráfico e resposta ao utilizador no Microsoft Expression, passando o resultado aos developers que irão utilizar o Visual Studio. No Visual Studio utilizarão simplesmente C#, VB.NET, ou outras opções (que ele disse, mas nao me recordo). Podem estar ambos a trabalhar ao mesmo tempo, sincronizando o código com algum tipo de source control.
- O plugin do Silverlight estará disponível nos principais browsers para Windows e Mac OS.
- A comunicação cliente-servidor é feita através de Web-Services. Percebi que a Microsoft está a apostar muito numa ferramenta sua, que não me recordo do nome, para permitir outros tipos de comunicação. Não há nada equivalente ao Flash Remoting, que troque os dados em formato binário e comprimido.
- Ainda há um caminho logo a percorrer para conseguir fornecer no Silverlight o mesmo que o SDK do Flex oferece. Há muitos componentes em falta.
Aquilo que me impressionou (i.e. os trunfos sobre o Flash/Flex):
- A interacção designer-developer. O Blend é deveras uma ferramenta fantástica que superou as minhas expectativas;
- O Silverlight (plugin para o browser) possui uma forma de carregar um ficheiro local, e permitir que os dados deste sejam manipulados localmente. Uma utilização prática disto, seria por exemplo escolher uma fotografia no disco local, cortá-la, redimensioná-la e comprimi-la, e então enviá-la para o servidor. Actualmente, no Flex, só é possível escolher uma fotografia, enviá-la para o servidor tal como está, descarregá-la, e só então cortá-la, redimensioná-a e comprimi-la, sendo novamente enviada…
- A interacção server-side developer / client-side developer… FANTÁSTICA!! O programador server-side cria um Web-Service, e instântaneamente, sem wizards, e grandes historias, no lado do cliente fica disponível no auto-complete do Visual Studio o Web-Service e os seus métodos!! Não é preciso criar uma camada de Service Delegate o que é excelente para desenvolver algo do zero em equipa, mas também muito bom para refactoring. Melhor, isto funciona com qualquer linguagem server side que suporte web-services: o auto-complete do client-side é gerado graças ao ficheiro WSDL, nada mais;
- O plugin do Silverlight tem perfeita noção do HTML DOM, e consegue interagir de uma forma transparente com javascript e vice-versa;
- Exceptuando o XAML, as linguagens por detrás de toda esta plataforma são mais robustas que o Actionscript na medida em que se são estáveis. A evolução do Actionscript é positiva, mas é preciso chegar a um ponto em que a linguagem não precisa de evoluir mais, mas sim as ferramentas e bibliotecas.
Se me perguntassem: quero fazer uma RIA, devo usar a plataforma Flash ou Silverlight, a minha resposta seria: “sem dúvida, a plataforma Flash”.
Se me perguntassem por um Rich Website, diria “Flash. Mas se a penetration rate do Silverlight não for um problema, pode sempre dar uma vista de olhos ao Silverlight”.
Se me perguntassem pela plataforma para construir uma Desktop Application, confrontando WPF com AIR, diria “WPF, se a aplicação for para Windows, e se não houver qualquer necessidade de a migrar para a Web (nestes casos, a plataforma Flash continua a ser preferível)”.
Não quer dizer que estas coisas não mudem num futuro próximo, tanto para um lado como para o outro!
1 Comment
Make A CommentComments RSS Feed TrackBack URL
This entry was written by
January 17th, 2008 at 3:25 pm
Joao, mais uma vez agradeço, a tua exposição do que se esta a passar por ai em milão, não estamos presentes mas estamos quase em directo, tks