Implementação Foco: pulpTunes
17 dezembro de 2008 às 01:41 por Eric Miraglia | Em Implementações YUI | 1 comentário
Alejandro Pedraza se formou em Economia e foi rapidamente entediado até a morte em um trabalho regular do escritório para um par de meses. Ele percebeu que deveria seguir verdadeira vocação é a vida dele e virar a noite e fim de semana de programação em algo que iria pagar as contas, também. A inicialização falhou e um par de postos de trabalho mais tarde, como colaborador da ligação, ele tem concentrando-se na construção de aplicações no LAMP e Java e contribuindo para muitos projetos de código aberto durante seu tempo livre. Ele é o autor de pulpTunes , uma nova maneira de acessar sua biblioteca do iTunes através de um navegador web. pulpTunes faz uso extensivo de YUI.
O que despertou seu interesse na construção de uma interface web para o iTunes? Ou isso é uma pergunta idiota?
(Não, não é uma pergunta idiota:)) Eu tenho uma coleção considerável canção no meu iTunes. Um aplicativo para fornecer-me com acesso à internet parecia uma coisa agradável a ter, e ele me daria a oportunidade de jogar com as tecnologias da web e desktop no mesmo aplicativo.
Você escolheu YUI para muitos dos elementos da interface do usuário em seu aplicativo. Quais são os componentes específicos YUI você está usando, e para que fins?
consistência YUI e reusage de componentes em todo ecossistema permite que você facilmente pegar em qualquer novo componente poderá ter com o avanço do projeto. Então, eu tenho tentado ficar com YUI-somente, e eu tive que procurar em outro lugar apenas para o jogador de música de flash, por razões óbvias.

pulpTunes produz uma única página web, cujo layout é declarado através do Grids CSS lib. Não há necessidade de hacks CSS desagradável, e você pode garantir a sua página será a mesma em todos os principais navegadores. Este é um dos meus favoritos bibliotecas YUI, por causa da enorme economia de tempo e paz de espírito que ele proporciona.
A lista de músicas é um DataTable acompanhada por um Paginator , alimentado através de uma conexão XHR. Personalizando a aparência da tabela e paginação foi muito fácil, apenas substituindo algumas regras CSS a partir da pele de Sam, que é muito bem comentado. O formatador personalizado para a coluna de Avaliação é um código javascript 3-liner. A tabela (e seção lista à esquerda) fazem uso do componente de menu para mostrar um menu de contexto para executar operações em uma música ou lista.
Estou usando um controle deslizante para ajustar o componente jogador do buffer. Com ele você apontar em que momento o progresso do download que você quer a música comece a tocar.
Há poucas mensagens pop-up e caixas de diálogo no aplicativo, que são processados usando o recipiente do componente.
A maioria dos componentes do YUI usei (são 12) são obtidas yui.yahooapis.com em uma única solicitação através do muito conveniente YUI Loader . E, claro, eu estou usando o YUI compressor para comprimir o arquivo de 15k um javascript que contém toda a lógica de aplicação dos anos.
Você está usando o vidro de Efeitos Dav pacote , além de YUI. O que você está desenhando a funcionalidade da coleção de Dav especificamente?
Vindo de um mundo Prototype + Scriptaculous, fiquei muito aliviado ao descobrir que alguém já tinha portado para YUI todos os grandes efeitos a partir de Scriptaculous. E [por Dav é um membro da equipe] YUI, eu poderia ter certeza sobre sua qualidade. Estou usando o BlindDown e efeitos BlindUp para mostrar e ocultar as músicas capa.
Um dos principais elementos da sua aplicação é o DataTable que você usar para exibir o songlists. Como foi sua experiência como a construção de um DataTable XHR alimentados com dados JSON? Que lições você aprendeu que valem a pena compartilhar com outros desenvolvedores?
A parte de alimentação XHR foi bastante simples. Embora eu me lembrei de tentar voltar um pouco de HTML na resposta JSON que não funcionou, mas que parecia ser um bug do navegador.
Paginação e ordenação foi fácil também, mas eu tinha que desempenhar uma função GenerateRequest costume, porque, se bem me lembro, YUI assume os registros devem ser ordenados desde a primeira solicitação para o servidor, e no meu caso eu queria esperar até que o usuário realmente clicaram no cabeçalho da coluna para começar a retornar registros classificados.
Eu também tive alguns problemas no início quando se tenta recuperar os registros específicos da tabela, mas depois percebi a existência de todo um conjunto de métodos auxiliares só para isso, como getTrEl() e getRecord() que não são mencionados nos documentos gerais . Portanto, meu conselho óbvio é que sua leitura toda a API para qualquer componente que você estará fazendo o trabalho pesado.
pulpTunes é um projeto do SourceForge . Você está olhando para construir uma comunidade de desenvolvedores para trabalhar no projeto com você?
Sim, essa é a idéia. Eu também estou usando a sourceforge para rastrear bugs e solicitações de recursos, para qualquer tipo de feedback dos usuários é bem vindo. designers gráficos são convidados, bem como, se deseja fornecer skins adicionais para o aplicativo.
O que vem por pulpTunes?
Foi apenas alguns dias desde a primeira versão estável está fora, ea resposta tem sido tremenda. Eu acho que já tem uma boa idéia das principais características para a próxima versão: autenticação do usuário, shuffle de pesquisa, e os botões de repetição, e capacidade para classificar músicas.
Compartilhe e ampliar: Bookmark com del.icio.us | digg it! | reddit!
1 comentário
Desculpe, o comentário formar está fechado neste momento.

Copyright © 2006-2011 Yahoo! Inc. Todos os direitos reservados. Política de Privacidade - Termos de Serviço
Powered by WordPress em Yahoo! Web Hosting .


Obrigado por este artigo de Eric,
Alejandro Pedraza, é o claro exemplo da importância de seguir seus sonhos.
Desejo-lhe o melhor e incentivar os programadores a contribuir com este projeto interessante.
Feliz Natal!
JPS
Comentário por Pablo Juan Santamaria - 22 de dezembro de 2008 #