Interfaces de Usuário com JavaScript

A web vai se tornando uma plataforma cada vez mais próximas das aplicações desktop que temos. Temos várias aplicações por aí para provar isso. Mas aos olhos do usuário, uma aplicação só com XHTML+CSS às vezes pode não ser tão interessante. De uns tempos pra cá, entretanto, várias bibliotecas surgiram para acabar com esse problema, e trazer interfaces de usuários realmente interessantes. Preparado para algo fora de série?

O número dessas bibliotecas é incontável, algumas mais simples, outras mais complexas, outras mais famosas, algumas nem tanto. Fiz uma breve pesquisa, e trouxe as mais conhecidas (e algumas nem tanto) para quem ainda não teve a oportunidade de conhecer. Só para lembrar, hoje não vou tratar sobre o uso dessas bibliotecas, isso fica pra uma próxima oportunidade, já que a idéia é um pouco extensa.

ExtJS

A ExtJS é de longe a biblioteca mais conhecida. Provavelmente você já deve ter pelo menos ouvido falar sobre, a menos que você viva na Sibéria. Também acredito que deva ser uma das mais antigas, e por isso uma das mais completas também.

ExtJS

Seu visual é espetacular, mas tem seu preço: ela é muito lenta. Todos os efeitos de transparência, os drag ‘n’ drops, tudo isso exige muito do pobre navegador. Pense bem antes de escolher onde usá-la, faça somente se for necessário, nunca para simples “enfeites”. Lenta, mas uma obra de arte.

E os desenvolvedores AIR não precisam ficar tristes: há até um demo do bichinho em funcionamento. Ainda não tive muito tempo com o AIR, mas acredito que a questão da velocidade não seja tão crítica quanto em um navegador, quem puder falar sobre, agradeço.

Yahoo User Interface

Yahoo User Interface

A Yahoo User Interface, ou YUI, deve ser a primeira user interface a se popularizar. Foi a base do nascimento da ExtJS. Tem lá seus defeitos, como o prefixo YUI para todos os métodos, mas tem um poder imenso. Me parece ser bem mais leve que a Ext, e usa gráficos bem mais simples também.

A documentação é um dos pontos fortes. Mantida pela comunidade de desenvolvedores do Yahoo, você nunca estará sozinho. Apesar disso, achei o site um pouco confuso para encontrar alguma coisa, principalmente os demos. Mas o material está lá, e há muito…

MochaUI

Ainda beta, a MochaUI seria a minha preferida. Adivinhem por quê? Sim, baseada na Mootools… A demonstração realmente me deixou impressionado, talvez tenha sido o relógio.

MochaUI

Aparenta ser bem leve, tanto que na demonstração você pode modificar propriedades das janelas sem travar o navegador. Usa gráficos simples, mas não menos atraentes. De longe, seria a primeira que eu escolheria para trabalhar (sim, opinião extremamente parcial). Mal posso esperar pela versão 1.0!

Dijit

Falando em Dojo, nem é preciso dizer muito. O framework mais abrangente que conheço também conta com sua interface de usuário, o Dijit. Não consegui encontrar demonstrações no site, mas as imagens mostram algo realmente promissor.

Dijit

Lendo a descrição do projeto, você verá que o Dijit não é apenas uma simples interface de usuário. É extremamente customizável, extensível, acessível e localizável. O que isso significa? Bem, dê asas à imaginação, o céu é o limite…

jQuery UI

O jQuery UI, bem jovem ainda, também é espetacular. Baseado na brilhante jQuery, tem tudo para deixar qualquer um de boca aberta. A demonstração de efeitos, por exemplo, me impressionou muito. A própria tela de demonstrações é uma obra de arte.

jQuery UI

Apesar de baseada no jQuery, achei a biblioteca ligeiramente lenta. Talvez tenha sido impressão, mas não esperava isso de jQuery. Entretanto, pela sua idade, é muito madura, muito poderosa. Se jQuery não havia me chamado atenção ainda…

Prototype UI

Prototype UI

Até então desconhecido pra mim, o release candidate Prototype UI não conseguiu me chamar a atenção. Não por ser baseado em Prototype e Scriptaculous (o que já considero um ponto contra), nem por usar um tema do Mac, mas por parecer muito prematura. Os demos apresentados são bonitinhos, mas um tanto “crus”. Prefiro não dar minha opinião, vai que o negócio vire um Ext-killer?

SproutCore

SproutCore

O SproutCore, iniciativa da Apple, tem uma proposta um tanto “utópica”, pelo que entendi é trazer o Cocoa para a web. As demonstrações são interessantes, mas o pobre navegador sofreu as conseqüências. Esse negócio consegue ser mais pesado que a própria Ext! Além disso, vi mais opiniões negativas do que positivas…

UIZE

UIZE

O UIZE (pronuncia-se “you eyes”) é outro que nunca havia sido apresentado a mim. Concordo com o pessoal do Ajaxian: são os efeitos mais legais que já vi. Apesar disso, a biblioteca ainda necessita muito mais trabalho, já que tem poucos recursos (poucos, mas legais).

Não tive a oportunidade de trabalhar por algum tempo com nenhuma dessas bibliotecas, e nem falar muito sobre as quais tenho mais experiência. Somente uma breve opinião sobre cada uma. Caso tenha esquecido de alguma, por favor, cite-a nos comentários, terei prazer em falar um pouquinho. Só uma precaução: cuidado onde você irá usar tudo isso… Existem aplicações e aplicações. Até mais!

Posts Relacionados

Postado em agosto 25, 2008 às 8:00

Comentários

  1. Christian

    Meu grande receio quando vejo essas bibliotecas é o que você comentou ali na ExtJS: a performance. Como JS não foi desenvolvido para isso (criar interfaces com o usuário), o custo em termos de processamento na máquina do cliente pode ser pesadíssimo.
    Ainda acho que para esse tipo de aplicação, com tamanha dependência da interface, não é algo para a nossa web de hoje em dia; acho que a forma de escrever e interpretar javascript (pelos browsers) deveria ser repensado visando a performance.
    Mas que a jQuery UI é bacana, isso é!


  2. Bruno Tavares

    Olá Júlio,
    trabalho bastante com o EXT e posso lhes afirmar que performance é algo questionável. O EXT é sim bem pesado (526kb na versão 2.2 compactada) porém existem maneiras (por exemplo cache de arquivos) para fazer com que a demora toda se pague.

    Além do mais EXT foi desenvolvido para a criação de aplicações “one-page” onde existe um único ponto de entrada no sistema e dali em diante o usuário nunca mais precisa submitar uma tela. Assim, você demora um pouquinho pra entrar no sistema, mas depois que entra, utiliza AJAX em tudo.

    Ótimo post! Interessante as demos dos outros frameworks. MochaUI me surpreendeu!


  3. Ferdinando

    Parabens pelo artigo.

    Estou usando o jQUERY a muito tempo, realmente, tem hora que nem lembro mais como se escreve em javascript puro, tal e a simbiose com a biblioteca. É louvavel da parte deles criarem um UI mais realmente, tem tanta coisa rolando, que senão formos devagar, não fazemos nada.

    A MochaUI e a UIZE realmente são um show a parte.

    Desenvolvo um framework para gerar formularios completos e utilizo a jquery, tem hora que não sei onde mexer mais para dar performance a ela, tratar campos, simular tudo que acontece em um formulario gerado pelo VISUAL BASIC, DELPHI, etc. É muito dificil e realmente demanda muita paciência, mais senão fosse a facilidade de escrever codigos com a jQuery, acredito que teria desistido.

    Abraços e parabéns novamente pelo artigo..

    Ferdinando – REDE DO BEM


  4. Jésus Lopes

    Gostei do blog!

    Cheguei neste post pesquisando sobre Ext JS e realmente encontrei muito mais do que procurava.

    Parabéns! Feed assinado =)

    Grande abraço


Trackbacks

  1. Ajax Online » Artigos » Interfaces de Usuário com JavaScript Setembro 07, 2008 @ 12:37

Deixe seu comentário