Arcabouço baseado em componentes para o desenvolvimento de interface de usuário de aplicação para smart TV. - FREITAS, Danilo Araújo de. (2014)
O conceito de SmartTV permite a instalação em TVs de aplicativos pelos usuários. Atualmente, algumas marcas disponibilizam seu próprio conjunto de ferramentas para que os desenvolvedores criem seus aplicativos e publiquem na respectiva loja. O middleware Ginga foi desenvolvido no país para ser utilizado no Padrão Brasileiro de TV Digital, tornando possívelodesenvolvimentodeaplicativosparapermitirainteratividadeentreTVeusuário. O Ginga recomenda que seja utilizada a linguagem de programação Lua para desenvolver os aplicativos,em conjunto com a Nested Context Language. Omiddleware especiﬁca uma biblioteca em Lua com módulos utilizados para inserir desenhos na tela e gerenciar eventos da TV e do controle remoto. Porém,a biblioteca nativa provida pelo middleware é primitiva para o desenvolvimento de interface de usuário para aplicativos de SmartTV e TV Digital. Com isso,tal atividade torna-se improdutiva devido à grande quantidade de código,repetição de código e tratamento de eventos. Além disso, o desenvolvedor deve gerenciar a memória e eﬁciência nos aplicativos. Neste trabalho propõe-se um arcabouço para o desenvolvimento de aplicativos com interface de usuário para melhorar a produtividade dos desenvolvedores nessa atividade. O arcabouço é baseado em componentes de interface, o que diminui o esforço necessário para a criação de um elemento e facilita o reúso. Como resultado da solução, foicriadaabibliotecaLuaSmartGUI,desenvolvidaemLua. Setecomponentespresentesna solução foram avaliados individualmente. Também foi realizada outra avaliação utilizando desenvolvedores voluntários para desenvolver uma tela utilizando a solução proposta e a biblioteca nativa d oGinga. A avaliação mostrou que, apesar de um aumento no uso de memória de aproximadamente 867%, o uso de LuaSmartGUI mostrou ser aproximadamente 61% mais eﬁciente e apresentou ganho de 31% na produtividade. Os experimentos mostraram que as meta de produtividade e eﬁciência foram alcançados, mas é preciso melhorar o gerenciamento de memória da biblioteca para viabilizar seu uso.