In English

Using WebKit as a cross-platform graphical user interface renderer for the Spotify client

Charles Dinsdale ; Alexander Pekkari
Göteborg : Chalmers tekniska högskola, 2010. 53 s.
[Examensarbete på avancerad nivå]

Spotify provides a streaming music service used by thousands of users on a daily basis. The Spotify client consists of a simple yet effective graphical user interface. The interface is defined programmatically, in C++ and Objective-C, leaving little space for modifications post-compile-time. WebKit is an open source web renderer, providing a framework that performs rendering of web pages. WebKit is used in Safari, Apple’s web browser flagship. HTML, CSS and JavaScript are versatile, and widely used, tools that are used to construct graphical user interfaces for the web. This thesis investigates and lists the benefits of integrating WebKit into the Spotify client in order to utilize the flexibility of WebKit and the surrounding tools and languages that WebKit make available. Some of the overwhelming number of drawbacks and obstacles spawned by the integration process are explained in detail and reflected upon, explaining why this solution may, for most purposes, be a sub-optimal one. // SAMMANFATTNING Spotify erbjuder en streamad musiktjänst som används av tusentals användare dagligen. Spotifyklienten tillhandahåller ett simpelt och effektivt användargränssnitt som är programmatiskt definierat, i C++ och Objective-C, vilket lämnar lite utrymme för modifikationer utan att behöva kompilera om applikationen. WebKit är en öppen mjukvara vars syfte är att rendera webbinnehåll. För att uppfylla detta syfte kräver WebKit stödbibliotek. På Mac OS X används WebKit för att driva Safari, Apples webbläsarflaggskepp. HTML, CSS och JavaScript är flexibla verktyg som är vitt använda i webbutveckling. Dessa verktyg används för att konstruera webbinnehåll, vilket användargränssnittet kommer bestå av i denna tes. Denna tes undersöker och listar fördelarna med att integrera WebKit i Spotifyklienten för att utnyttja flexibiliteten som tillhandahålls i verktyg som görs tillgängliga tack vare WebKit. Tesen beskriver några av det överväldigande antal problem som stötts på under utvecklingens gång i detalj och reflekterar över eventuella metoder för att kringgå dem samt förklarar varför denna lösning, i många fall, kan ses som suboptimal.

Nyckelord: WebKit, Spotify, HTML, JavaScript, CSS, TrollTech Qt, Cocoa, DOM, GUI, Integration



Publikationen registrerades 2010-03-01. Den ändrades senast 2013-04-04

CPL ID: 116615

Detta är en tjänst från Chalmers bibliotek