Ginga é a camada de software intermediário (middleware) que permite o desenvolvimento de aplicações interativas para a TV Digital de forma independente da plataforma de hardware dos fabricantes de terminais de acesso (set-top boxes).
Resultado de anos de pesquisas lideradas pela Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio) e pela Universidade Federal da Paraíba (UFPB), Ginga reúne um conjunto de tecnologias e inovações brasileiras que o tornam a especificação de middleware mais avançada e, ao mesmo tempo, mais adequada à realidade do país.
O Middleware Ginga pode ser dividido em três subsistemas principais: Ginga-CC, Ginga-J e Ginga-NCL.
Ginga-CC (Ginga Common-Core) oferece o suporte básico para os ambientes declarativo (Ginga-NCL) e procedural (Ginga-J). Dependendo das funcionalidades requeridas no projeto de cada aplicação, um paradigma de programação (declarativo ou procedural) possuirá uma melhor adequação que o outro.
Ginga-J foi desenvolvido pela UFPB para prover uma infra-estrutura de execução de aplicações baseadas em linguagem Java, com facilidades especificamente voltadas para o ambiente de TV digital.
Ginga-NCL foi desenvolvido pela PUC-Rio para prover uma infra-estrutura de apresentação de aplicações baseadas em documentos hipermídia escritos em linguagem NCL, com facilidades para a especificação de aspectos de interatividade, sincronismo espaço-temporal de objetos de mídia, adaptabilidade e suporte a múltiplos dispositivos. NCL possui Lua como sua linguagem de script.
Para facilitar o desenvolvimento de aplicações Ginga-NCL, a PUC-Rio desenvolveu também a ferramenta Composer. Composer é um ambiente de autoria voltado para a criação de programas NCL para TV digital interativa. Nessa ferramenta, as abstrações são definidas em diversos tipos de visões que permitem simular um tipo específico de edição (estrutural, temporal, leiaute e textual). Essas visões funcionam de maneira sincronizada, a fim de oferecer um ambiente integrado de autoria. Entre agora mesmo no subgrupo Composer!
Cabe observar que os desenvolvimentos relacionados à linguagem NCL e à ferramenta Composer estão aplicados ao cenário de TV Digital, mas já são aplicados em outros cenários de aplicações multimídia e hipermídia, como Web, IPTV etc. TV Digital Interativa é apenas um caso particular de aplicação multimídia.
Fonte: Comunidade Ginga