May 08

Atenção

 
Esse tutorial foi atualizado e a versão atualizada encontra-se neste link http://www.gingadf.com.br/blogGinga/tutorial-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 do VMware Player

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 fedora-fc7-ginga-i386.vmx. A figura abaixo ilustra essa operação.

Abrindo imagem do STB Virtual

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

Tela inicial do STB Vitual

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.

Versão do Eclipse

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.

Instalação de novo plugin

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

Adicionando site

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

Site do NCL Eclipse

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.

Escolhendo o NCL Eclipse

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.

Novo documento – parte 1

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

Novo documento – parte 2

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.

Configuração do interpretador

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

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

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.

Executando script

Executando script

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 execução de script

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

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.

Mudança de perspectiva

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

Perspectiva do RSE

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.

Nova conexão – parte 1

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

Nova conexão – parte 2

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.

Nova conexão – parte 3

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.

Abrindo conexão – parte 1

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.

Abrindo conexão – parte 2

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.

Visualização dos arquivos remotos

É 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.

Abrindo terminal

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.

Ambiente de trabalho

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 codificar 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.

Por: Rafael Carvalho
http://twitter.com/carvalho_rafael

Fonte: Peta5



Gostou? Compartilhe!!!

7 Responses to “Como estruturar seu ambiente de desenvolvimento para o Ginga-NCL”

  1. Watson Odilon says:

    Estou usando o windows 7 na minha máquina e quando tentava me conectar estava dando Time out na conexão, demorei um pouco para achar e então resolvi postar…
    Para resolver você deve alterar na virtual machine o Network Adapter de NAT para Host-only e assim a conexão será feita com sucesso.
    Com essa mudança será gerado um novo endereço de IP então você deve criar uma nova conexão com esse novo IP.
    T+

  2. Vitor Braga says:

    Muitíssimo obrigado por disponibilizar esse tutorial de configuração! Já utilizava algumas ferramentas das citadas, mas o que mais me deixou feliz foi o RSE! O que achava mais chato era ter que passar do Windows para o Linux toda vez que o projeto sofria alguma alteração! Com isso o desenvolvimento fica muito mais rápido e prático!

    Obrigado mais uma vez, e parabéns pelo tutorial!

  3. Watson Odilon says:

    Obrigado Vitor, mas devemos todos os agradecimentos ao Rafael Carvalho!!!!
    T+

  4. Victor says:

    Apesar de ter seguido todos os passos quando mando o Eclipse executar a aplicação aparece a seguinte mensagem: “The selection cannot be launched, and there are no recent launches”. O que estou fazendo errado?

  5. Watson Odilon says:

    Oi Victor,

    Você conseguiu fazer a conexão entre o Eclipse e a VmWare utilizando o pluing RSE?

    Quando você está mandando executar no eclipse, por onde seria esta execução?

    T+

  6. […] Um mirror do tutorial também pode ser acessado no site Ginga-DF. […]

  7. […] Para instalar o plugin basta fazer o update pelo eclipse, caso nunca tenha feito isso ver este outro post Como estruturar seu ambiente de desenvolvimento para o Ginga-NCL […]

preload preload preload