segunda-feira, 4 de abril de 2011

Por que tantas tecnologias para programação Web?

Com o lançamento do WebMatrix, a proximidade do LightSwitch e a forte mensagem da Microsoft rumo ao HTML5, é comum surgir a velha dúvida: que tecnologia usar?

Já comentei aqui neste blog que escolha gera angústia. Isto é normal. Mas se compreendermos o porquê de cada tecnologia fica mais simples escolher e nos tranqüilizar.

Abaixo, vou listar as tecnologias mais visadas para a programação web e comentar sua motivação:

HTML5: interface visual para os futuros browsers em multiplataforma. A tendência é que todas as tecnologias da Microsoft que geram HTML venham incorporar a geração de tags HTML 5 e suportar suas novidades.

Silverlight: sempre na frente do que as entidades de padronização podem fazer, o Silverlight possibilita uma experiência mais agradável e uma programação bem produtiva com o apoio de ferramentas como o Expression Blend. Será suportado no Windows Phone, no XBOX e Windows, sendo um elemento importante para a estratégia de 3 Telas + a Nuvem. É a tecnologia preferencial para o programador web que quiser tirar o máximo da usabilidade nos sistemas operacionais da Microsoft. Já tem bom ecossistema de componentes.

WPF: usado nas aplicações que necessitam retirar o máximo do Windows. Por não funcionar num Sandbox, como o HTML5 e o Silverlight, ele pode chamar recursos locais, como um banco de dados instalado na workstation. Fornece produtividade e usabilidade elevada, mas requer direitos elevados – por isto não é tão usado no contexto web mas sim no contexto Smart Client. Já tem bom ecossistema de componentes.

ASP.NET: gera HTML e possivelmente irá gerar HTML 5. Foi feito visando um largo espectro de tipos de aplicações – de aplicações muito simples a muito complexas. Simula a programação RAD do VB antigo e tem um grande ecossistema.Longa vida ao ASP.NET.

MVC: gera HTML e possivelmente irá gerar HTML 5. Foi feito visando um segmento de programadores e arquitetos que trabalham com projetos complexos e que podem largar mão de parte da produtividade do .Net para obter um código de melhor manutenção no estilo RESTfull. NoMVC 3, recém lançado, incorpora uma linguagem para a confecção de Views (o Razor) que é bem mais simples e ekegante.

WebMatrix: para o desenvolvedor que gosta do estilo de programação chamado de scripting, tão comum no velho ASP e PHP. Existe uma massa muito grande de desenvolvimento Web que é feita neste estilo, onde o ASP.NET não era bem aceito (por ser mais complexo). Faltava uma ferramenta da Microsoft para este segmento. Com o uso do mesmo Razor que o MVC, pode ser uma boa escola para muitos programadores que gostam do estilo scripting.

LightSwitch: uma IDE ainda em Beta, que visa uma geração rápida de aplicativos. Gera Silverlight + WCF RIA Services + Entity Framework e já incorpora o cenário de uso no Azure. Visa simplificar o desenvolvimento trazendo de volta a facilidade de desenvolvimento análoga à de uma programação em Access. Creio que tem como segmento alvo o programador departamental que visa aplicações LOB simples, com o mínimo de codificação.

Faltam outras tecnologias com WindowsForm, XNA, SharePoint, etc. Faça seu exercício: que tipo de programador deve gostar de usar estas tecnologias? Para que contexto de uso foi feito? Que limitações de plataforma elas estão sujeitas? Para quem estiver interessado no processo de definição de um produto (como o LightSwitch ou o WebMatrix) sugiro uma lida no artigo http://msdn.microsoft.com/pt-br/library/cc518039.aspx.

Dar opções é uma obrigação da Microsoft neste contexto complexo de tantos cenários de uso. Entenda o contexto da sua produção de software e escolha. Está cada vez mais difícil não ter uma opção mais adequada.

Fonte: http://blogs.msdn.com/b/otavio/archive/2011/01/29/por-que-tantas-tecnologias-para-programa-231-227-o-web.aspx

Nenhum comentário:

Postar um comentário