segunda-feira, 28 de julho de 2008

Máquinas Virtuais

Postado por Admin às 28.7.08

Mais uma guerra está no horizonte dos programadores de software para a web. Qual é o seu lado?

Existem mais guerras entre o céu e a terra que podem imaginar nossa vã filosofia. Virtuais, é claro! Agora, está em andamento a guerra pela mente dos desenvolvedores entre as aplicações client side com interfaces ricas que usam máquinas virtuais (VM), como o Java VM e o .NET, e as que usam somente os padrões da Internet (Javascript/DOM/CSS/Ajax).

Durante anos as aplicações do lado do servidor (server side) são escritas para uma máquina virtual, Java ou .NET. As máquinas virtuais não somente aliviam, do ponto de vista da aplicação, as diferenças entre hardwares como também acrescem benefícios como os de atender as demandas específicas de um sistema operacional.

Um exemplo disso é o JIT (compilação Just-in-time). Um compilador JIT tem acesso a informações na hora do processamento que os compiladores estáticos não podem usar e que podem ser usadas, por exemplo, para modificar o desempenho de uma aplicação.

Como há dez anos, os programadores estão tomando duas abordagens para tornar as coisas mais fáceis no desenvolvimento de softwares cliente: usando bibliotecas que mascaram as diferenças de ambientes, tais como Prototype ou Dojo, ou usando compiladores inteligentes que criam códigos otimizados para os diversos ambientes, tais como o GWT da Google.

Microsoft, Sun e Adobe pensam que o futuro do desenvolvimento no lado cliente está nas máquinas virtuais. Com o Silverlight, a Microsoft prove um paradigma de múltiplas linguagens de desenvolvimento, similar com que é feito no lado servidor, e o renovado interesse da Sun com seus applets e com o Java FX que pretende atender a demanda das aplicações com interface rica. Enquanto isso, o Flex, da Adobe, com a máquina virtual Flash, já chegou na sua terceira encarnação e agora conta com o BlazeDS como uma competente integração do lado servidor.

Quando a Apple recentemente anunciou que iria usar o Sproutcore, um framework Ajax de código fonte aberto, para seus sistemas online, muitos especularam que a empresa quer jogar seu peso e um considerável número de seguidores bancando um cliente rico baseado em bibliotecas em oposição a Sun, Adobe e Microsoft. As mais populares aplicações desse tipo são do Google o que inclui os programas Maps, Reader, Docs e Sheets. Elas simplesmente usam os padrões da internet como HTML, Javascript e CSS.

Na realidade, os desenvolvedores acabam optando pelas máquinas virtuais porque elas permitem atingir os objetivos imediatos do programador sem muito esforço. Embora, as bibliotecas Ajax estejam ficando cada vez mais maduras não é fácil para elas suportar sem problemas os mais diversos navegadores. Além disso, mesmo quando essas bibliotecas conseguem reduzir o tempo de programação e desenvolvimento, elas não acrescentam funcionalidades do lado cliente, o que as VMs fazem e muito bem.

De um lado os defensores das VMs dizem que eles oferecem benefícios que nenhuma das melhores bibliotecas Ajax podem oferecer, tais como sistemas de debugging sofisticados e compilação JIT. Já do lado dos padrões da Internet, mesmo os insatisfeitos com os mais horrosos hacks do Javascript, as coisas estão ficando interessantes. Você pode ficar realmente embasbacado com a função ‘transform 3D’ proposta para o CSS pelo projeto Webkit (veja http://webkit.org/specs/CSSVisualEffects/CSSTransforms.html).

Além disso, entre as diversas vantagens das aplicações baseadas somente nos padrões da internet estão a utilização de padrões (claro), conceitos que não mudam e são reconhecidos pelos usuários (formulários, botões, etc) dentre muitas outras. Ou quem sabe, a escolha possa ser mais conservadora. Usar ambos, não é?

E você leitor, o que escolhe: Máquinas Virtuais ou aplicações baseadas nos padrões da Internet?

Fonte: IDG Now

0 comentários on "Máquinas Virtuais"

Postar um comentário

 

© 2009 Baixim downloads | Melhor visualização 1024x768 e o Browser Firefox