DC-UFRPE/Bacharelado em Ciência da Computação/Desenvolvimento de Aplicações para TV

Programa da Disciplina editar

Nome: Desenvolvimento de Aplicações para TV
Código: 14711
Departamento: Departamento de Computação (DC)
Área: Redes e Sistemas Distribuídos
Carga-horária total: 60 horas
Créditos: 4
Pré-requisitos: 14058 - REDES DE COMPUTADORES

14059 - SISTEMAS DISTRIBUÍDOS

Ementa editar

Introdução a plataformas de TV. Ferramentas e emuladores de desenvolvimento para TV. Introdução a linguagens de programação para TV. Leiaute de apresentação na TV. Navegação via controle remoto. Mudança e navegação entre frames da aplicação. Efeitos visuais. Definição de variáveis globais e de ambiente. Entrada e persistência de dados. Processamento remoto.

Objetivos editar

Geral: editar

• Ao final da disciplina o aluno terá desenvolvido uma aplicação de TV (Digital, Smart, etc.) para resolver um problema real;

Específicos: editar

• Compreender os conceitos e o funcionamento de um sistema de TV digital (Sistema Brasileiro de TV Digital); • Compreender os conceitos e o funcionamento de um sistema Smart TV (plataforma Samsung, Google, Apple, etc.); • Despertar interesse dos alunos no desenvolvimento de modelos de negócio para os ecossistemas de TV.

Conteúdo Programático editar

  1. Introdução a plataformas de TV
    • Sistemas de TV visão geral.
    • Middlewares
    • Tecnologias
    • Vantagens e desvantagens.
  2. Ferramentas e emuladores de desenvolvimento para TV
    • Ferramentas de autoria.
    • Ambientes de desenvolvimento
    • Frameworks
    • Emuladores.
  3. Introdução a linguagens de programação para TV
    • Conceitos básicos.
    • Características.
    • Estrutura sintática e semântica.
    • Exemplos
    • Vantagens e desvantagens.
  4. Leiaute de apresentação na TV
    • Posicionamento de objetos.
    • Dimensões.
    • Sobreposição
    • Composição de objetos.
    • Construção de cenas/frames.
  5. Navegação via controle remoto
    • Definição de foco em objetos.
    • Definição/habilitação de teclas do controle remoto.
    • Relacionamento de teclas e navegação entre objetos.
  6. Mudança e navegação entre frames da aplicação.
    • Definição de captura de eventos do controle remoto.
    • Relacionamento entre eventos do controle remoto e mudança de frames/cena.
    • Composição de cenas/frames.
    • Adaptação de conteúdo e apresentação baseada em eventos.
  7. Efeitos visuais
    • Transição de cenas/frames.
    • Animação de objetos.
  8. Definição de variáveis globais e de ambiente
    • Declaração de variáveis globais.
    • Alteração de valores de variáveis.
    • Leitura e alteração de variáveis de ambiente.
  9. Entrada e persistência de dados
    • Usando o controle remoto como teclado alfanumérico.
    • Teclado virtual.
    • Leitura e escrita em arquivos.
  10. Processamento remoto
    • Arquitetura cliente-servidor.
    • Requisições HTTP.
  11. Desenvolvimento de Projeto.

Métodos Didáticos de Ensino editar

  • Videoaulas gravadas;
  • Participação em fóruns temáticos e fórum de dúvidas;
  • Acompanhamento no desenvolvimento de projetos, via mensagens, chat e/ou aulas síncronas agendadas sob demanda;

Bibliografia editar

Básica editar

  1. Soares, L. F. G., Barbosa, S. D. J. Programando em NCL 3.0: desenvolvimento de aplicações para middleware Ginga, TV digital e Web. Editora Elsevier. 2a Edição. Rio de Janeiro, 2011. ISBN: 8535234578.
  2. R. Ierusalimschy, L. H. de Figueiredo, W. Celes. Lua 5.1 Reference Manual. Lua.Org. 2006. ISBN: 8590379833.
  3. Piovesana, O.C.L.V.Z.H. A. Javascript Descomplicado – Programação para Web, IoT e Dipositivos Móveis. Editora Saraiva, 2020. 9788536533100. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788536533100/. Acesso em: 29 Oct 2020

Complementar editar

  1. JustinMind - https://www.justinmind.com/
  2. ErgoList - http://www.labiutil.inf.ufsc.br/ergolist/index.html
  3. Fórum SBTVD - https://forumsbtvd.org.br/
  4. NCL Handbook - http://handbook.ncl.org.br/doku.php
  5. Ginga NCL - http://www.gingancl.org.br/
  6. Telemidia - http://www.telemidia.puc-rio.br
  7. Samsung Developer - https://developer.samsung.com/smarttv/develop
  8. Android TV Developer - https://developer.android.com/training/tv
  9. Apple TV Developer - https://developer.apple.com/tvos/
  10. LG Developer - http://webostv.developer.lge.com/