Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Desarrollo Web en Spotify

Desarrollo Web en Spotify

Qué es Spotify y cómo se lleva a cabo el desarrollo web.

José M. Pérez

February 07, 2013
Tweet

More Decks by José M. Pérez

Other Decks in Programming

Transcript

  1. Qué es Spotify Cómo se usan las tecnologías web en

    Spotify Qué proporcionan Desafíos y consejos De qué voy a hablar
  2. TV

  3. Departamento técnico: Aprox. 250 empleados: Estocolmo, Gotemburgo, San Francisco y

    New York. Perfiles web: Backend: Python, Java, PHP, C++ Frontend: JavaScript y HTML5 Objetivo: mantener la calidad del servicio y la experiencia de usuario, a medida que vamos creciendo. Desafío tecnológico
  4. Equipos de 5 a 10 personas: diferentes perfiles Startups independientes

    Metodologías ágiles Tests, revisiones de código Hack days / hack week (10% tiempo) Estructura y modo de trabajo
  5. API JS: Buscar contenido, acceder a la biblioteca del usuario

    API Views: Insertar elementos UI (listas, carátulas con reproductor, botones...) Ejemplos: letras de canciones, noticias, generadores de playlists, juegos de preguntas, reproducción de listas de forma colaborativa... Apps HTML5 Web apps para Spotify Spotify Apps
  6. Cliente móvil (radio) Cliente de escritorio (novedades, radio, actividad) +

    Web Player Ciertas funcionalidades están implementadas usando web Nativo + web Desarrollo híbrido
  7. Capa que expone servicios de la plataforma en forma de

    JS API JS común Desarrollo de features Cómo se consigue Nativo + web Desarrollo híbrido
  8. Reutilización de código (multiplataforma) Hace más fácil que un equipo

    puede ser dueño de una funcionalidad Escalabilidad e independencia: Múltiples pequeñas features desarrolladas independientemente Facilidad de despliegue de actualizaciones y correcciones Facilidad de integración de desarrollos de partners (campañas, aplicaciones) Future friendly Por qué utilizar web Por qué
  9. Conocer bien la plataforma (necesito librerías?) Separación por capas (i.e.

    vista personalizada) Responsive Web Design Client feature-detection Optimización Idealmente, el mismo código se puede ejecutar en todas las plataformas Desarrollar web multiplataforma Cómo
  10. Web se ejecuta sobre una capa superior (iPhone, Android) Desarrollo

    nativo tiene, en principio, mejor rendimiento Hechos Again Web vs native