top of page

Começando pela parte que interage diretamente com o utilizador tem-se a frontend, isto é, a UI (user interface ou interface do utilizador) que no desktop ou em vários dispositivos moveis diferentes partilham todos o mesmo código base, na linguagem de programação C++.Os programadores usam este código base para adaptar a UI e outras componentes especificas de cada plataforma nas suas linguagens especificas [7], e.g. C++ para Mac/Windows, Java para Android e Objective-C para iOS [6].

 

 

 

 

 

 

Embora usando sempre a mesma base, nem todas as componentes da interface usam só linguagem C++, no desktop client UI a última é usada, por exemplo, para editar playlist em modo offline enquanto que interações com a UI, como carregar no botão de play, são feitas usando JavaScript (JS), a UI em si é HTML/CSS. Cada funcionalidade dentro da aplicação tenta ao máximo ser independente de outras de forma a que as equipas que nelas trabalham possam o fazer sozinhas, necessitando do mínimo de ajuda e permissão de outras, funcionando como muitas miniaplicações autónomas que correm dentro do Chromium Embedded Framework [8].

Pode acontecer que duas destas miniaplicações sejam dependentes e ser necessário fazer uma comunicação entre a base C++ e JS, para isto é usado o “Cosmos” que é a camada da interface que permite a comunicação entre cliente JS que faz certo pedido e os módulos C++. É como esta comunicação que, por exemplo, os botões de reprodução do cliente sabem se uma música está a ser tocada ou não [9].

                                   JavaScript                                           HTML                                           CSS                    Chromium Embedded Framework

bottom of page