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.

No momento, vocรช estรก visualizando 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?