Como estruturar seu ambiente de desenvolvimento para o Ginga-NCL

É muito recompensador desenvolver uma aplicação para TV digital e observar sua criação sendo executada num set-top box e exibida na TV, porém quem deseja começar a desenvolver seus primeiros aplicativos pode encontrar algumas dificuldades. No primeiro contato com o desenvolvimento para TV digital geralmente o iniciante acaba deparando-se com muitas informações sobre normas, plataformas, ambiente de testes, APIs, usabilidade etc. Tantas informações podem causar confusão deixando o desenvolvedor perdido, e pior, podem até causar a desistência e consequente decepção com o desenvolvimento de aplicações para TV digital.

Neste tutorial abordaremos passo-a-passo a estruturação de um ambiente de desenvolvimento e testes para as aplicações interativas desenvolvidas para o middleware Ginga-NCL.

Ambiente de desenvolvimento

Quando falamos em ambiente de desenvolvimento estamos nos referindo ao conjunto de ferramentas que tem por finalidade auxiliar tanto na codificação como na execução e visualização de nossas aplicações interativas.

Para codificarmos nossas aplicações iremos utilizar uma IDE muito popular conhecida como Eclipse. O uso de uma IDE é bastante recomendado, pois, como veremos no decorrer deste tutorial, ela oferece uma série de funcionalidades, como um sistema avançado de plugins, para facilitar a codificação de nossas aplicações.

Para simularmos uma TV com interatividade iremos utilizar uma imagem VMware de uma máquina virtual com o middleware Ginga-NCL instalado. Esta imagem é chamada de Ginga-NCL Virtual STB e é disponibilizada pelo laboratório Telemídia da PUC-Rio.

Download e instalação do Ginga-NCL Virtual STB

Para executarmos o Ginga-NCL Virtual STB é necessário ter instalado um player para a máquina virtual VMware. Existem duas opções gratuitas: VMware Server e VMware Player.

Pela facilidade de instalação e entendimento, prosseguiremos com a instalação do VMware Player. Acesse a página de download e escolha a melhor opção de acordo com o seu sistema operacional. Será necessário efetuar um pequeno cadastro para prosseguir.

Após a conclusão do download (tanto no Windows como no GNU/Linux) basta executar o arquivo baixado para iniciar uma instalação em modo guiado. As opções apresentadas são fáceis de escolher e a para a maioria delas é necessário apenas clicar em/ou escolher Next. Ao término da instalação pode ser solicitado a reinicialização do sistema. A figura abaixo mostra a tela inicial do VMware Player onde é possível ver o botão Open an existing Virtual Machine.

tela_inicial.png

Após a instalação do VMware Player seguiremos com o download da imagem do Ginga-NCL Vistual STB. Para isso acesse a página de ferramentas do site oficial ou clique diretamente aqui. A imagem é disponibilizada num arquivo compactado (.zip) e para extraí-lo será necessário ter um descompactador como unzip ou winzip instalado em seu computador. Quando o download terminar, descompacte o arquivo onde desejar.

Para executar o Ginga-NCL Virtual STB basta abrir o VMware Player, clicar no botão Open an existing Virtual Machine, navegar até a pasta onde descompactou a imagem e clicar no arquivo .vmx. A figura abaixo ilustra essa operação.

abrindo_imagem.png

Como é exibido na figura abaixo, após o carregamento da imagem teremos nosso Ginga-NCL Virtual STB pronto para os testes.

tela_inicial_ginga.png

Agora já é possível acessar o Ginga-NCL Virtual STB através de uma conexão SSH. No Windows para abrirmos tal conexão com a máquina virtual podemos fazer uso dos programas Putty ou SSH Secure Shell Client; a maioria das distribuições GNU/Linux já oferece o cliente SSH instalado. Contudo não iremos trabalhar com o Ginga-NCL Virtual STB desta forma, apresentaremos uma maneira mais fácil para trabalharmos com a máquina virtual.

Instalação do Eclipse

Neste tutorial utilizaremos o Eclipse 3.5.2 (Galileo) Classic que pode ser obtido, gratuitamente, em sua página de download. O Eclipse é desenvolvido em Java e não é necessário efetuar instalação, basta descompactar e executar o arquivo binário para iniciar sua utilização. Contudo é necessário ter a máquina virtual Java instalada. Na figura abaixo pode ser visto uma tela do Eclipse informando a versão que utilizamos.

eclipse.png

Instalação do plugin NCL Eclipse

O NCL Eclipse é um plugin que auxilia e agiliza bastante o desenvolvimento de aplicações em NCL. A partir da versão 1.4 (a versão atual é a 1.5) foi disponibilizada a instalação através do sistema de instalação automática do Eclipse.

Para efetuar a instalação do NCL Eclipse inicie o Eclipse e acesse Help -> Install New Software como pode ser visualizado na figura abaixo.

ncleclipse-01.png

Na tela de instalação (figura abaixo) clique em Add.

nncleclipse-02.png

Após clicar em Add será exibida uma caixa de diálogo para a informação do nome e localização do site onde o Eclipse irá buscar a atualização. Entre com as informações:

  • Name: NCL Eclipse
  • Location: http://www.laws.deinf.ufma.br/ncleclipse/update

nncleclipse-04.png

Clique em OK e o Eclipse irá procurar por atualizações no endereço informado. Para visualizar o NCL Eclipse desmarque a opção “Group items by category”. Escoha o NCL Eclipse, clique em Next e depois em Finish.

nncleclipse-03.png

Após a instalação será solicitado a reinicialização do Eclipse, basta aceitar e aguardar a inicialização automática. Quando iniciar novamente o Eclipse já estará com o plugin NCL Eclipse instalado.

Para criar um novo documento NCL clique em File -> New -> Other ou utilize o atalho Ctrl+N. Na janela New escolha NCL -> NCL Document e clique em Next.

nncleclipse-05.png

Como último passo iremos configurar o nome de nosso documento e clicar em Finish para criarmos o documento.

nncleclipse-06.png

Instalação do plugin LuaEclipse

Com LuaEclipse é possível editar scripts Lua com syntax highlight, code completion, verificação de erros de compilação, agrupamento de código e comentários, execução de scripts utilizando um interpretador pré-configurado, etc (confira mais informações no site oficial).

A instalação segue o padrão do Eclipse e por isso é bem semelhante com o que vimos para o NCL Eclipe. Apenas substitua as informações do site por:

  • Name: Lua Eclipse
  • Location: http://luaeclipse.luaforge.net/preview/update-site/linux.gtk.x86

Se seu sistema operacional for Windows, troque o Location por http://luaeclipse.luaforge.net/preview/update-site/win32.win32.x86.

Após a instalação, iremos configurar o interpretador Lua padrão para nossos aplicativos. Para isso, selecione Window -> Preferences e em seguida selecione a categoria Lua -> Installed Interpreters, como na figura abaixo.

interpretador.png

Para criar um novo projeto Lua clique em File -> New -> New Lua Project ou utilize o atalho Ctrl+N. Na janela New escolha Lua -> New Lua Project e clique em Next.

novo_projeto.png

Para incluir um novo arquivo em seu projeto selecione o projeto desejado, clique com o botão direito e selecione New -> New Lua File.

novo_arquivo.png

Neste momento já podemos começar a codificar.

Para executar seu script clique com o botão direito nele e escolha Run As -> Lua Application.

executar_arquivo.png

Para evitarmos estes cliques entediantes podemos configurar um atalho, em Window -> Preferences -> General -> Keys, para essa tarefa. No meu caso configurei para a combinação Ctrl+R executar o script Lua.

atalho_para-execucao.png

Instalação do Remote System Explorer (RSE)

O RSE é um plugin para o Eclipse que oferece um conjunto de ferramentas para a conexão e trabalho com diferentes sistemas remotos, incluindo SSH e FTP. Para maiores detalhes sobre o plugin visite o site oficial.

Mas o que um plugin para trabalho com sistemas remotos está fazendo aqui? Bem, podemos considerar o nosso Ginga-NCL Virtual STB um sistema remoto, apesar de muitas vezes ele residir no mesmo computador, e usufruir todas as facilidades oferecidas pelo RSE evitando o enfadonho processo de edição, cópia para a máquina virtual e acesso à máquina virtual para executar a aplicação. Quem passou por isso sabe o quanto isso pode ser desestimulante.

A instalação do RSE segue o mesmo procedimento dos outros plugins, Apenas substitua as informações do site por:

  • Name: RSE
  • Location: http://download.eclipse.org/dsdp/tm/updates/3.0

Neste site encontraremos muitas versões deste plugin, escolha a opção Remote System Explorer SDK 3.1.1 como na figura abaixo.

escolhendo_RSE.png

Após a instalação, podemos modificar o nosso workspace para a perspectiva oferecida pelo RSE, para isso acesse Window -> Open Perspective -> Other e escolha Remote System Explorer como na figura.

mudanca_perspectiva_RSE.png

Com a nova perspectiva o workspace ficará parecido com este:

perspectiva_RSE.png

Agora iremos criar uma conexão com o Ginga-NCL Virtual STB (assegure-se que ele está rodando). Clique com o botão direito na aba Remote Systems e escolha New -> Connection. A figura abaixo ilustra essa operação.

RSE-nova_conexao.png

Em seguida será necessário escolher o tipo de conexão com o sistema remoto, escolha SSH Only.

RSE-novao_conexao-2.png

Após escolher o tipo de conexão é necessário configurar o Host name e atribuir um nome para a conexão, como pode ser visto na figura abaixo.

RSE-novao_conexao-3.png

Na configuração do Host name coloque o endereço IP do seu Ginga-NCL Virtual STB.

Logo em seguida clique em Finish para criar sua conexão.

Para nos conectarmos ao Ginga-NCL Virtual STB clique com o botão direito sobre a conexão que acabou de criar e escolha a opção Connect.

RSE-conectando.png

Em seguida será exibida a tela para o preenchimento do login e senha para a conexão. Seguindo as instruções presentes na tela de abertura do Ginga-NCL Virtual STB preencha com o loginroot e senha telemidia.

RSE-conectando-2.png

Para otimizar novas conexões marque a caixa Save password

Com a conexão estabelecida é possível ter acesso aos arquivos do Ginga-NCL Virtual STB como exibido na figura abaixo.

RSE-conexao_feita_mostrando-arquivos.png

É possível executar ações, inclusive edição, sobre os arquivos remotos como se fossem arquivos locais; o RSE abstrai isso para o desenvolvedor. Experimente dar um duplo clique em um dos arquivos e você verá que ele abrirá para edição como qualquer outro arquivo e todas as modificações que você realizar são efetuadas diretamente no arquivo remoto. Também é possível criar diretórios e transferir arquivos, tudo da forma que você já faz no Eclipse.

Agora abriremos um terminal para execução de comandos diretamente no Ginga-NCL Virtual STB. Clique com o botão direito sobre Ssh Terminals e escolha Launch Terminal.

RSE-abrir_terminal.png

Com a utilização do terminal é possível executarmos nossa aplicação sem sair do Eclipse.

Na figura abaixo é possível observar uma tela do Eclipse com o ambiente integrado. O arquivo aberto, no centro da tela, é de uma aplicação de demonstração e está sendo editada remotamente. Do lado direito temos um terminal com o comando para a execução da aplicação que será exibida na tela do Ginga-NCL Virtual STB.

RSE-terminal.png

O RSE é um plugin muito abrangente e apresenta mais funcionalidades do que as apresentadas aqui. Se você utiliza alguma funcionalidade que não foi apresentada, contribua com comentários.

Conclusão

Vi por várias vezes as mesmas dúvidas sobre ferramentas e ambiente de desenvolvimento surgirem em quem estava iniciando o desenvolvimento de aplicações para TV Digital com o middleware Ginga-NCL, por isso decidi escrever este tutorial. Procurei reunir em um único documento todos os passos para um iniciante conseguir, de forma fácil e acessível, estruturar seu ambiente de desenvolvimento.

Agora é só baixar a apostila NCL e Lua – Desenvolvendo aplicações interativas para TV digital e começar a desenvolver suas aplicações.

Espero que as informações aqui apresentadas tenham utilidade e contribuam para a comunidade. Os comentários estão abertos para opiniões e acréscimo de conhecimento.

Você está visualizando atualmente Como estruturar seu ambiente de desenvolvimento para o Ginga-NCL

Rafael Carvalho

Rafael Carvalho é empreendedor digital há mais de 20 anos e desenvolveu dezenas de negócios na internet. É criador de diversos treinamentos online, com destaque para o método Lançamento Enxuto e a Mentoria Imparáveis, que são considerados os melhores treinamentos para quem deseja possuir um negócio lucrativo, honesto e saudável na internet.

Deixe seu comentário:

Este post tem 10 comentários

  1. Victor Oliveira

    Rafael, eu tou com um problema para configurar o interpretador Lua. Quando eu vou em Window -> Preferences -> Lua -> Installed Interpreters, não aparece nenhum interpretador instalado, eu preciso baixar algum executável do instalador? ou localizar ele ??

    1. Rafael Carvalho

      Olá Victor,

      Você precisa ter o interpretador Lua, que pode ser obtido aqui http://code.google.com/p/luaforwindows ,  instalado no seu Windows. Depois que instalar o interpretador precisará acessar Window -> Preferences -> Lua -> Installed Interpreters para adicionar o interpretador que acabou de instalar.

      Não esqueça de dar notícias sobre seu progresso para ajudar outros visitantes também.

      Abraços.

  2. ArseniumGX

    Hihi.

    Esse esquema funciona com o Eclipse Helios?

    1. Rafael Carvalho

      Olá,

      Provavelmente sim.

      Faça a tentativa e comunique aqui para ajudar os próximos visitantes 🙂

      Abs.

  3. Victor Oliveira

    Rafael, eu instalei tudo corretamente e consegui realizar a conexão com VM perfeitamente, porém, quando aperto run NCL aplication no eclipse, simplesmente aparece no console:

    Validating values…Done!Connecting to server…

    E não acontece nada na VM, estou da forma correta para rodar a aplicação?

    1. Victor Oliveira

      Percebi que estou com warnings de que os arquivos de vídeo e imagens não existem, porém ja coloquei dentro da pasta media, e ja tentei de várias formas até o endereço do caminho completo e ainda assim não funciona =/

      1. Rafael Carvalho

        Victor, depois de conectar você precisa digitar os comandos para iniciar a aplicação. Esses comandos aparecem bem explicados na tela da VM assim ela inicia (onde tem o logo do telemídia).

        Sobre os warnings, você precisa ver se no seu arquivo NCL o caminho para as mídias está correto.

        Abs.

  4. Jaderson Sa

    Obrigado! Me Ajudou muito!!! xD

  5. Ale_Z47

    Onde eu consigo um set-top box para teste de aplicativos ginga?