SlideShare a Scribd company logo
Cross platform web app
development
Tomás Pérez - @tomasperezv
José M. Pérez - @jmperezperez
Contents
Cross platform application development
Contents
Cross platform application development
Web development in Spotify

 - Why and how

 - Benefits and learnings
Key web technologies that we use

 - IFrames and postMessage: security and performance
- Communication between different tabs
Summary
Questions
Spotify <3 web
Cross platform application development
Spotify <3 web
Cross platform application development
Spotify <3 web
Cross platform application development
Spotify <3 web
Cross platform application development
Spotify <3 web
Cross platform application development
Beginnings of Spotify
Cross platform application development
Giving web a try
Cross platform application development
Giving web a try
Cross platform application development
• Using CEF to move features to web
Giving web a try
Cross platform application development
• Using CEF to move features to web
• Write features as webapps
Giving web a try
Cross platform application development
• Using CEF to move features to web
• Write features as webapps
• Sandboxed environment
Giving web a try (2)
Cross platform application development
What is a Spotify app?
Cross platform application development
What is a Spotify app?
Cross platform application development
• HTML
What is a Spotify app?
Cross platform application development
• HTML
• CSS
What is a Spotify app?
Cross platform application development
• HTML
• CSS
• JS
What is a Spotify app?
Cross platform application development
• HTML
• CSS
• JS
• manifest.json
What is a Spotify app? - Developer tools
Cross platform application development
What is a Spotify app? - Developer tools
Cross platform application development
What is a Spotify app? - Developer tools
Cross platform application development
Architecture of the Spotify Apps Platform - overview
Cross platform application development
Architecture of the Spotify Apps Platform - desktop
Cross platform application development
Architecture of the Platform - all clients
Cross platform application development
Multiple platforms
Cross platform application development
CapturFiles_25.png
Releasing Spotify Apps
Cross platform application development
Releasing Spotify Apps
• Decoupled system
Cross platform application development
Releasing Spotify Apps
• Decoupled system
• Provides gradual roll-out, and availability depending on
platform and country
Cross platform application development
Benefits
Cross platform application development
Benefits
Cross platform application development
• Feature ownership by teams
Benefits
Cross platform application development
• Feature ownership by teams
• Fast development pace due to fewer dependencies
Benefits
Cross platform application development
• Feature ownership by teams
• Fast development pace due to fewer dependencies
• Less hassle to deploy. Makes it easy to tweak a feature after
being released
Benefits
Cross platform application development
• Feature ownership by teams
• Fast development pace due to fewer dependencies
• Less hassle to deploy. Makes it easy to tweak a feature after
being released
• 3rd party app development
Only benefits?
Cross platform application development
Only benefits?
Cross platform application development
• Performance in views with a lot of data on mobile
Only benefits?
Cross platform application development
• Performance in views with a lot of data on mobile
• Time to render
Spotify Embedded Platform
Tomás Pérez
twitter.com/tomasperezv
github.com/tomasperezv
Spotify Embedded Platform
Cross platform application development
Spotify Embedded Platform
Cross platform application development
Content
Cross platform application development José Manuel Pérez Pérez
Ya no estoy seguro de si
debemos incluir la 16 y la 18.
Creo que con la slide de
Contents del principio deberia
quedar claro.
Content
Cross platform application development
Platform architecture

 - IFrames and postMessage: security and performance
Remote control technology

 - Communication between different tabs

 - Performance of the communication channel
Performance improvements
José Manuel Pérez Pérez
Ya no estoy seguro de si
debemos incluir la 16 y la 18.
Creo que con la slide de
Contents del principio deberia
quedar claro.
Architecture of the Platform
Cross platform application development
Sandboxed platform using IFrames
Cross platform application development
Sandboxed platform using IFrames
Cross platform application development
Good

 - Separated execution context

 - Better security and privacy

 - We control the release process
Sandboxed platform using IFrames
Cross platform application development
Good

 - Separated execution context

 - Better security and privacy

 - We control the release process
Bad

 - More difficult communication
- IFrames are expensive

More Related Content

Cross platform web app development