Enfoque de implementación: pulpTunes

17 de diciembre 2008 a las 1:41 pm por Eric Miraglia | En las implementaciones YUI | 1 comentario

Alejandro Pedraza obtuvo su licenciatura en Economía y se aburren rápidamente a la muerte en un trabajo de oficina durante un par de meses. Se dio cuenta de que debe seguir llamando a su verdadera vida y convertir la noche y de fin de semana de programación en algo que se pagan las facturas, también. Un inicio fallido y un par de puestos de trabajo más tarde como desarrollador principal, que ha estado concentrado en la creación de aplicaciones en la pila LAMP y Java y que contribuye a muchos proyectos de código abierto durante su tiempo libre. Él es el autor de pulpTunes , una nueva forma de acceder a tu biblioteca iTunes a través de un navegador Web. pulpTunes hace un uso extensivo de YUI.

¿Qué te interesa en la construcción de una interfaz web para iTunes? ¿O es que una pregunta tonta?

(No, no es una pregunta tonta:)) Tengo una colección de canciones importante en mi iTunes. Una aplicación para proporcionar mí con acceso a Internet parecía una cosa agradable de tener, y que me daría la oportunidad de jugar con las tecnologías web y de escritorio en la misma aplicación.

Usted eligió YUI para muchos de los elementos de la interfaz de su aplicación. ¿Qué componentes específicos de YUI está utilizando, y con qué fines?

La consistencia de YUI y la reutilización de los componentes a través de todo el ecosistema te permite recoger en cualquiera de los componentes nuevos es posible que tenga que avanza el proyecto. Así que he estado tratando de seguir con YUI-solamente, y tuve que buscar en otros lugares sólo para el reproductor de música flash, por razones obvias.

pulpTunes produce una sola página web, cuyo diseño se ha declarado a través de los Grids CSS lib. No hay necesidad de hacks CSS desagradable, y puede garantizar su página tendrá el mismo aspecto en todos los principales navegadores. Este es uno de mis favoritos bibliotecas YUI, debido a la gran ahorro de tiempo y tranquilidad que ofrece.

La lista de canciones es un DataTable acompañada de una Paginator , alimentado a través de una conexión XHR. Personalización de la tabla y se ve la paginación fue muy fácil con sólo reemplazar algunas reglas CSS de la piel de Sam, que está muy bien comentado. El formateador personalizado para la columna de calificación es un código de 3-liner javascript. La tabla (y la sección de lista de reproducción a la izquierda) hacer uso de los componentes del menú para mostrar un menú contextual para realizar operaciones en una canción o lista de reproducción.

Estoy usando un control deslizante para ajustar los componentes de amortiguación del jugador. Con él se señala en qué momento el progreso de descarga que desee la canción para empezar a jugar.

Hay pocos mensajes emergentes y cuadros de diálogo en la aplicación, que se representan con el contenedor de los componentes.

La mayoría de los componentes YUI he usado (hay 12) se obtienen de yui.yahooapis.com en una única solicitud a través de la muy conveniente cargador de YUI . Y, por supuesto, estoy usando el compresor YUI para comprimir el archivo de 15k un javascript que tiene toda la lógica de la aplicación.

Usted está utilizando paquete Dav Glass efectos , además de YUI. ¿Qué funcionalidad se le dibujo de la colección de Dav específicamente?

Viniendo de un prototipo del mundo + Scriptaculous, me sentí muy aliviado al descubrir que alguien había portado ya a YUI todos los grandes efectos de Scriptaculous. Y [porque Dav es un miembro de la] YUI equipo, que puede estar seguro acerca de su calidad. Estoy usando la BlindDown y efectos BlindUp para mostrar y ocultar el arte de tapa canciones.

Uno de los principales elementos de su aplicación es el DataTable que se utiliza para mostrar la songlists. ¿Cuál fue su experiencia como la construcción de un DataTable XHR alimentado con datos JSON? ¿Qué lecciones ha aprendido que vale la pena compartir con otros desarrolladores?

La parte de alimentación XHR fue bastante sencillo. Aunque me acordé tratando de regresar algo de HTML en la respuesta JSON, que no funcionaba, pero que se parecía a un error del navegador.

Paginación y la clasificación fue fácil también, pero yo tenía que proporcionar una función GenerateRequest personalizado, ya que, si no recuerdo mal, YUI asume los registros deben ser ordenados desde la primera petición al servidor, y en mi caso yo quería esperar hasta que el usuario han hecho clic en un encabezado de columna para comenzar a devolver registros ordenados.

También tuve algunos problemas al principio cuando se trata de recuperar los registros específicos de la tabla, pero luego me di cuenta de la existencia de un montón de métodos de ayuda sólo para que, al igual getTrEl() y getRecord() que no se mencionan en la documentación general, . Así que mi consejo es obvio que su lectura de la API completa para cualquiera de los componentes que va a hacer el trabajo pesado en.

pulpTunes es un proyecto en SourceForge . ¿Está pensando en construir una comunidad de desarrolladores a trabajar en el proyecto con usted?

Sí, esa es la idea. También estoy usando SourceForge para gestionar los fallos y peticiones, por lo que cualquier tipo de comentarios de los usuarios también es bienvenido. Diseñadores gráficos están invitados también, si desean facilitar a skins adicionales para la aplicación.

¿Qué sigue para pulpTunes?

Ha sido sólo unos pocos días desde la primera versión estable está fuera, y la respuesta ha sido tremenda. Creo que tengo ya una idea bastante clara de las características principales de la siguiente versión: la autenticación de usuarios, búsqueda, reproducción aleatoria y repetición de los botones, y la capacidad de puntuar las canciones.

Compartir y ampliar: Marcar con del.icio.us | Digg it! | reddit!

1 comentario

  1. Gracias por este artículo Eric,

    Alejandro Pedraza, es el claro ejemplo de la importancia de seguir sus sueños.

    Le deseo lo mejor y alentar a los programadores a contribuir con este interesante proyecto.

    ¡Feliz Navidad!

    JPS

    Comentario por Juan Pablo Santamaría - 22 de diciembre 2008 #

Disculpa, los comentarios están cerrados en este momento.

Organizado por Yahoo!

Copyright © 2006-2012 Yahoo! Inc. Todos los derechos reservados. Política de privacidad - Condiciones del Servicio

Desarrollado por WordPress en Yahoo! Web Hosting .