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.

43b3d09e5d13d076f5e120383702c04f?s=128

José M. Pérez

February 07, 2013
Tweet

More Decks by José M. Pérez

Other Decks in Programming

Transcript

  1. Febrero 2013 en Spotify. Desarrollo web

  2. @jmperezperez Ingeniero Software - Frontend Web Developer Spotify - Estocolmo

    José Manuel Pérez Pérez Quién soy?
  3. Qué es Spotify Cómo se usan las tecnologías web en

    Spotify Qué proporcionan Desafíos y consejos De qué voy a hablar
  4. Cliente de escritorio

  5. Clientes móviles

  6. TV

  7. 20.000.000 usuarios activos. 5.000.000 suscripciones. 20.000.000 tracks 1.000.000.000 playlists Spotify

    en cifras
  8. Dónde se aplica el desarrollo web en Spotify Componentes Web

  9. 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
  10. 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
  11. Dónde está el desarrollo Web

  12. Spotify.com

  13. Spotify Play Button

  14. Web player

  15. Spotify Apps

  16. 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
  17. Clientes híbridos: iOS radio

  18. Cliente móvil (radio) Cliente de escritorio (novedades, radio, actividad) +

    Web Player Ciertas funcionalidades están implementadas usando web Nativo + web Desarrollo híbrido
  19. 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
  20. 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é
  21. 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
  22. Web se ejecuta sobre una capa superior (iPhone, Android) Desarrollo

    nativo tiene, en principio, mejor rendimiento Hechos Again Web vs native
  23. Estructuración de funcionalidad en pequeños módulos Prototipar y testear. Estar

    dispuesto a hacerlo. Cómo abordarlo Web vs native
  24. Febrero 2013 @jmperezperez Gracias!

  25. Febrero 2013 jobs.spotify.com developer.spotify.com @SpotifyPlatform Más info